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

грешка промяна на таблица, добавяне на ограничение външен ключ получаване на грешка Не може да се добави или актуализира дъщерен ред

Имате поне една стойност на данни в answers.questions_id което не се среща в questions.id .

Ето пример за това, което имам предвид:

mysql> create table a ( id int primary key);

mysql> create table b ( aid int );

mysql> insert into a values (123);

mysql> insert into b values (123), (456);

mysql> alter table b add foreign key (aid) references a(id);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint 
fails (`test`.`#sql-3dab_e5c`, CONSTRAINT `#sql-3dab_e5c_ibfk_1` FOREIGN KEY
(`aid`) REFERENCES `a` (`id`))

Можете да използвате това, за да потвърдите, че има несъвпадащи стойности:

SELECT COUNT(*)
FROM answers AS a
LEFT OUTER JOIN questions AS q ON a.questions_id = q.id
WHERE q.id IS NULL



  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 Joins на прост език

  2. Spring Boot:Jdbc javax.net.ssl.SSLException:затваряне на входящия преди получаване на close_notify на партньора

  3. Кое е по-ефективно:множество MySQL таблици или една голяма таблица?

  4. MySQL:колони с ниска кардиналност/селективност =как се индексира?

  5. Как да предадете множество променливи към PHP с jQuery