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

डालने पर स्ट्रिंग्स को उचित लंबाई में स्वचालित रूप से क्लिप करें

दरअसल, MySQL डिफ़ॉल्ट रूप से स्ट्रिंग्स को कॉलम की चौड़ाई में छोटा कर देता है। यह एक चेतावनी उत्पन्न करता है, लेकिन सम्मिलित करने की अनुमति देता है।

mysql> create table foo (str varchar(10));
mysql> insert into foo values ('abcdefghijklmnopqrstuvwxyz');
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1265 | Data truncated for column 'str' at row 1 | 
+---------+------+------------------------------------------+
mysql> select * from foo;
+------------+
| str        |
+------------+
| abcdefghij | 
+------------+

यदि आप सख्त SQL मोड सेट करते हैं, तो यह चेतावनी को एक त्रुटि में बदल देता है और सम्मिलन को अस्वीकार कर देता है।

अपनी टिप्पणी दें:SQL मोड एक MySQL सर्वर कॉन्फ़िगरेशन है। शायद यह पीडीओ नहीं है जो इसे पैदा कर रहा है, लेकिन दूसरी तरफ यह संभव है, क्योंकि कोई भी क्लाइंट अपने सत्र के लिए एसक्यूएल मोड सेट कर सकता है।

आप निम्न कथनों के साथ वर्तमान वैश्विक या सत्र sql_mode मान प्राप्त कर सकते हैं:

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;

डिफ़ॉल्ट एक खाली स्ट्रिंग होना चाहिए (कोई मोड सेट नहीं)। आप अपने my.cnf . में SQL मोड सेट कर सकते हैं फ़ाइल, --sql-mode . के साथ mysqld के लिए विकल्प, या SET . का उपयोग करना बयान।

अद्यतन:MySQL 5.7 और बाद में डिफ़ॉल्ट रूप से सख्त मोड सेट करता है। देखें https://dev.mysql.com/doc/ refman/5.7/hi/sql-mode.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कई डेटाबेस के माध्यम से Django ManyToMany

  2. mysql अन्य तालिका से आईडी और नाम का चयन करें और क्वेरी में शामिल हों

  3. java.sql.SQLException पैरामीटर सूचकांक सीमा से बाहर है (1> मापदंडों की संख्या, जो 0 है)

  4. Laravel . में प्रवास विदेशी कुंजी बनाम वाक्पटु संबंध

  5. MySQL में एक परमाणु ऑपरेशन में दो तालिकाओं का नाम कैसे बदलें