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

जब मुझे विदेशी कुंजी बाधा त्रुटि मिलती है तो क्या MySQL में अमान्य मान को पकड़ना संभव है?

दुर्भाग्य से LATEST FOREIGN KEY ERROR से विदेशी कुंजी त्रुटियों को प्राप्त करने का कोई बेहतर तरीका नहीं है SHOW ENGINE INNODB STATUS . में अनुभाग . कॉलम की जानकारी उदा.:

. के रूप में छपी है
Trying to add in child table, in index `fk` tuple:
DATA TUPLE: 2 fields;
 0: len 11; hex 4163636573736f72794964; asc AccessoryId;;
 1: len 4; hex 80000003; asc     ;;

यह इंडेक्स से कॉलम के पूरे सेट को प्रिंट कर रहा है (fk ), और जैसा आपने अनुमान लगाया प्रारूप है:

<column index>:
  len <length of bytes stored>;
  hex <hex representation of bytes>;
  asc <ascii representation of bytes>;;

दुर्भाग्य से, InnoDB को इस बारे में पर्याप्त जानकारी नहीं है कि MySQL के कॉलम प्रकार आपको उचित मुद्रित प्रतिनिधित्व देने के लिए कैसे संग्रहीत किए जाते हैं, इसलिए कुछ मान थोड़े "अजीब" हैं। 80000003 पूर्णांक 3 के लिए संग्रहीत बाइट्स का हेक्स प्रतिनिधित्व है (InnoDB आंतरिक रूप से उच्च बिट को फ़्लिप करता है)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - अधिक अंकों की अनुमति देने के लिए मैं दशमलव कॉलम को कैसे अपडेट करूं?

  2. अजगर pymysql.err.OperationalError:(2013, 'क्वेरी के दौरान MySQL सर्वर से कनेक्शन खो गया')

  3. नोड.जेएस (एक्सप्रेस) में MySQL डेटा प्राप्त करें और EJS का उपयोग करके प्रिंट करें

  4. MyISAM इंजन तालिका संबंध (MySQL)

  5. MySQL टेबल पर समवर्ती पढ़ें और लिखें