MySQL Valaki találkozott már olyannal, hogy meglévő adatbázis táblákra gond nélkül tudok külső kulcsot tenni akármelyikre, de ha új táblát készítek akkor sehogy se akarja, pedig korábban ugyan így működött?
ALTER TABLE `enaplo`.`orat` ADD CONSTRAINT `kkulcs` FOREIGN KEY (`oratcol`) REFERENCES `enaplo`.`orarend` (`oraazon`) ON DELETE NO ACTION ON UPDATE NO ACTION
Error Code: 1215. Cannot add foreign key constraint
típusok azonosak egy az egyben
foreign key csak innodb-ben van, MyISAM-ben nincs. Valószínűleg a MyISAM storage engine az alapértelmezett. Állítsd be létrehozáskor, hogy innodb és akkor jó lesz.
Bár én sosem használok innodb-t, inkább többet programozom az adott táblákat, hogy MyISAM-re tett kapcsoló táblákban is legyen függőségkezelés, mert az innodb mindent egy fájlban tart és az a fájl szeret megsérülni, ha megsérül, akkor az adatoknak kampó. Sokszor észre sem lehet venni dumpkor.
Jártam már így egy sor dump hibás lett, majd mikor észleltem a hibát, és állítottam volna vissza, rájöttem, hogy már egy hónappal azelőtti dump is hibás volt, 2 napig állt a komplett rendszer, mire helyrebírtam állítani. Minden egyes dumpot külön betöltve, és lefuttatva rá a módosítási naplót... Azóta kerülöm az innodb-t, mint a pestist.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!