Miért van szükség kényszer-i név közé mysql verem túlcsordulás az orosz
Minden objektum az adatbázisban, beleértve a külföldi kulcsok táblák nevének kell lennie szükséges amit később tudja módosítani az objektumot. Ha nincs megadva, a mysql maga felér egy bizonyos nevet.
Ajánlat kényszer NÉV nevét adja meg az idegen kulcs kifejezetten. Megadása a kulcs nevét később, ha azt szeretné, hogy távolítsa el azt, akkor ezt az alter table Tab csepp idegen kulcs nevét.
Csak egy kulcsszó megszorítás szükséges néhány SQL szabvány. Például a mysql használatát, mivel lehetőség van arra, hogy egy CHECK megszorítás, hogy az SQL szabvány szerint kell korlátokat szabnak a területen, például, hogy az értéknek nagyobbnak kell lennie, mint nulla. Igaz MySQL nem támogatják az ellenőrző ilyen korlátozásokat, de a szintaxis létrehozásuk a hibát nem tartja összeegyeztethetőnek a többi adatbázis-rendszereket.
Válaszol március 19 '16 at 00:19
Ha megkérdezzük az oka, hogy ezek a korlátozások miatt nem a műveleteket végeznek az import / export adatok, azokat ki lehet kapcsolni idején császármetszéssel script:
SET FOREIGN_KEY_CHECKS = 0; ki
rendre SET FOREIGN_KEY_CHECKS = 1; Ez magában foglalja annak ellenőrzését az idegen kulcs.
Azonban ez nem biztonságos a szempontból az adatok integritását. Általában idegen kulcs hiba akkor jelentkezik, ha a megbízás hibás behelyezése táblázatokat. Például be egy táblázatot a városokról, ahol idegen kulcs pont az ország (minden városban tartozik néhány országban), de a táblázat az országok még nem léteznek.
Amint azt már említettem, a saját felelősségére, letilthatja szkennelés kulcsfontosságú adatokat a behelyezés. De ott van a lehetőség, hogy egy „senki” adat. Abban az esetben, városok, akkor kap a város. Nem tartozik a bármely ország.
Válaszol március 19 '16 at 13:45