Mysql
 sql >> база данни >  >> RDS >> Mysql

Таблицата не може да се изпусне:Ограничение на външен ключ не е успешно

Това трябва да свърши работа:

SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;

Както посочват други, това почти никога не е това, което искате, въпреки че е това, което се задава във въпроса. По-безопасно решение е да изтриете таблиците в зависимост от bericht преди да изтриете bericht . Вижте отговора на CloudyMarble за това как да направите това. Използвам bash и метода в моя публикация, за да пусна всички таблици в база данни, когато не искам или не мога да изтрия и пресъздам самата база данни.

#1217 грешка се случва, когато други таблици имат ограничения за външен ключ към таблицата, която се опитвате да изтриете, и използвате двигателя на базата данни InnoDB. Това решение временно деактивира проверката на ограничителите и след това ги активира отново. Прочетете документацията за още. Не забравяйте да изтриете ограниченията на външния ключ и полетата в таблиците в зависимост от bericht , в противен случай може да оставите вашата база данни в неработещо състояние.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализирайте колоните, ако входните стойности не са нулеви, в противен случай игнорирайте и запазете съществуващите стойности на колоната в базата данни

  2. Избиране на всички записи от преди една година до сега

  3. Как да използвате MySQL dump от отдалечена машина

  4. MySQL заместващ знак в select

  5. mysql КЪДЕ МАЧ СРЕЩУ