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