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

SQL - त्रुटि कोड 1005 त्रुटि संख्या 121 के साथ

त्रुटि 121 का अर्थ है कि एक विदेशी कुंजी बाधा त्रुटि है। चूंकि आप InnoDB का उपयोग कर रहे हैं, आप SHOW ENGINE INNODB STATUS का उपयोग कर सकते हैं LATEST FOREIGN KEY ERROR में स्पष्टीकरण प्राप्त करने के लिए विफल क्वेरी चलाने के बाद खंड। अपना SQL स्वयं चलाने के बाद, मुझे यह मिलता है:

------------------------
LATEST FOREIGN KEY ERROR
------------------------
101210 14:55:50 Error in foreign key constraint creation for table `regula`.`Reservation`.
A foreign key constraint of name `regula`.`prjId`
already exists. (Note that internally InnoDB adds 'databasename'
in front of the user-defined constraint name.)
Note that InnoDB's FOREIGN KEY system tables store
constraint names as case-insensitive, with the
MySQL standard latin1_swedish_ci collation. If you
create tables or databases whose names differ only in
the character case, then collisions in constraint
names can occur. Workaround: name your constraints
explicitly with unique names.

मूल रूप से, आपको अपने prjId बाधा नाम को अंतिम तालिका में एक अद्वितीय नाम देना होगा। बाधा/विदेशी कुंजी नाम डेटाबेस के लिए वैश्विक हैं, इसलिए उन्हें विभिन्न तालिकाओं में पुन:उपयोग नहीं किया जा सकता है। बस अंतिम बदलें

  CONSTRAINT `prjId`

करने के लिए

  CONSTRAINT `prjId2`


  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 कमांड का परिचय

  2. MySQL त्रुटि 1449:एक निश्चित के रूप में निर्दिष्ट उपयोगकर्ता मौजूद नहीं है

  3. MySQL में सामान्य त्रुटियों का निवारण करने के लिए उपयोगी टिप्स

  4. MS SQL सर्वर से MySQL में BLOB डेटा माइग्रेट करना

  5. MySQL में रीसेंसी से पर्सेंटाइल की गणना करें