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

विदेशी कुंजी को छोड़ने में असमर्थ

समाधान का वर्णन यहां क्रिस व्हाइट द्वारा किया गया है मेरे लिए काम किया।

मूल समस्या यह है कि MySQL एक इंडेक्स और एक विदेशी कुंजी दोनों बनाता है। दोनों को हटा दिया जाना चाहिए (क्रिस ने जो कहा उसके विपरीत विदेशी कुंजी पहले)।

  1. तालिका बनाएं तालिका_नाम दिखाएं;

    SHOW CREATE TABLE `table_name`:
    
    | table_name | CREATE TABLE `table_name` (
      `id` int(20) unsigned NOT NULL auto_increment,
      `key_column` smallint(5) unsigned default '1',
      KEY `column_tablein_26440ee6` (`key_column`),  <--- shows key name
      CONSTRAINT `table_name_ibfk_1` FOREIGN KEY (`key_column`) REFERENCES <--- shows foreign key constraint name
    `second_table` (`id`) ON DELETE SET NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    
  2. विदेशी कुंजी बाधा हटाएं:

    ALTER TABLE table_name DROP FOREIGN KEY `table_name_ibfk_1`;
    
  3. कुंजी हटाएं

    ALTER TABLE table_name DROP KEY `column_tablein_26440ee6`;
    

वो मेरे लिए किया गया।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CentOS 7 पर MySQL कैसे स्थापित करें?

  2. लॉगिन पर mysql सर्वर 8.0 कीरिंग माइग्रेशन त्रुटि

  3. Yii2 जहां AND या OR कंडीशन ग्रुपिंग कैसे करें?

  4. संग्रहीत प्रक्रिया पर कॉल करें, जब mysql में एक चर में प्रक्रिया का नाम होता है

  5. शीर्ष 50 MySQL साक्षात्कार प्रश्न जो आपको 2022 में तैयार करने चाहिए