Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql में बिट फ़ील्ड के अंदर CSV से डेटा लोड करें

मुझे अंततः समाधान मिल गया है और मैं इसे भविष्य के संदर्भ के लिए यहां पोस्ट कर रहा हूं। मुझे mysql लोड डेटा मैन्युअल पेज<में मदद मिली है /ए> ।

तो परीक्षण के उद्देश्य से मेरी तालिका संरचना है:

+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| nome   | varchar(45) | YES  |     | NULL    |       |
| valore | bit(1)      | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+

मेरा csv परीक्षण फ़ाइल है:

1,primo_valore,1
2,secondo_valore,0
3,terzo_valore,1

csv लोड करने के लिए क्वेरी तालिका में है:

 load data infile 'test.csv' into table test
    fields terminated by ',' lines terminated by '\n'
    (id, nome, @valore) set
       valore=cast(@valore as signed);
    show warnings;

जैसा कि आप देख सकते हैं csv . लोड करें आपको एक कास्ट करने की जरूरत है cast(@valore as signed) और आपके csv . में आप पूर्णांक संकेतन का उपयोग कर सकते हैं 1 या 0 bit को इंगित करने के लिए मूल्य। ऐसा इसलिए है क्योंकि BIT मानों को बाइनरी नोटेशन का उपयोग करके लोड नहीं किया जा सकता है (उदाहरण के लिए, b'011010' )।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SUM क्वेरी से कुछ फ़ील्ड को छोड़कर

  2. php बहुविकल्पी प्रश्नोत्तरी निर्माता

  3. मैं जल्दी से एक MySQL डेटाबेस का नाम कैसे बदलूँ (स्कीमा नाम बदलें)?

  4. मैसकल:नवीनतम रिकॉर्ड का अद्यतन क्षेत्र

  5. BEGIN के अंदर ट्रांजेक्शन शुरू करें ... END संदर्भ या बाहर और LOOP सिंटैक्स