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

Kód chyby:1822. Nepodařilo se přidat omezení cizího klíče. Chybějící index pro omezení

create_user INT UNSIGNED ZEROFILL nemůže odkazovat na id INT , protože se pro účely odkazu na cizí klíč počítají jako různé datové typy. Udělejte jim stejný datový typ.

Jediný rozdíl mezi typy dat, který je povolen mezi sloupci ve vztahu cizího klíče, je délka varchar. Například VARCHAR(10) může odkazovat na VARCHAR(20) nebo naopak.

Jakýkoli jiný rozdíl v datovém typu, velikosti nebo znakové sadě není kompatibilní pro referenční integritu.

Dokonce i s ZEROFILL v jednom sloupci, ale ne ve druhém, činí datové typy nekompatibilními.



  1. Nainstalujte SQL Server 2016

  2. Mysql – vyberte ID, která odpovídají všem značkám

  3. Emulujte klauzuli MySQL LIMIT v Microsoft SQL Server 2000

  4. Kontingenční tabulka MySQL s dynamickými záhlavími založenými na datech jednoho sloupce