sql >> Databáze >  >> RDS >> Mysql

chyba při změně tabulky, přidání omezení cizího klíče získání chyby Nelze přidat nebo aktualizovat podřízený řádek

V answers.questions_id máte alespoň jednu datovou hodnotu který se nevyskytuje v questions.id .

Zde je příklad toho, co mám na mysli:

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`))

Toto můžete použít k potvrzení, že existují neshodné hodnoty:

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



  1. Jak najít nečíselné hodnoty ve sloupci v MySQL

  2. PHP související s PDO:Aktualizace příkazu SQL neaktualizuje obsah databáze

  3. Hodnota pole spojit na řetězec v SQL Server

  4. Pomozte prosím s vylepšeními STRING_SPLIT