Запитання з тегом «foreign-keys»

Зовнішні ключі - це цілісність даних реляційних (та SQL) баз даних. Іноземний ключ - це набір атрибутів у реляційній таблиці, що підлягає референційному обмеженню цілісності. Референтне обмеження цілісності передбачає, що значення атрибутів іноземного ключа в одній таблиці А повинні відповідати відповідним значенням у певній таблиці Б (яка іноді може бути тією ж таблицею, що і А).


12
Як урізати таблицю з обмеженим зовнішнім ключем?
Чому не TRUNCATE на mygroupроботі? Незважаючи на те, що я маю ON DELETE CASCADE SET: ПОМИЛКА 1701 (42000): Неможливо урізати таблицю, на яку посилається обмеження іноземного ключа ( mytest. instance, КОНТРОЛЬНИЙ instance_ibfk_1ІНТЕРНЕТ КЛЮЧ ( GroupID) ДОВІДКИ mytest. mygroup( ID)) drop database mytest; create database mytest; use mytest; CREATE TABLE mygroup …


28
Неможливо урізати таблицю, оскільки на неї посилається обмеження "ІНОЗЕМНИЙ КЛЮЧ"?
Чи можна за допомогою MSSQL2005 усікати таблицю з обмеженням зовнішнього ключа, якщо спочатку обрізати дочірню таблицю (таблицю з первинним ключем відношення FK)? Я знаю, що я можу і те, і інше Використовуйте DELETEзастереження "без", а потім RESEEDособу (або) Вийміть FK, обріжте таблицю та відтворіть FK. Я думав, що, поки я …

6
Коли використовувати “ON UPDATE CASCADE”
Я використовую "ON DELETE CASCADE" регулярно, але ніколи не використовую "ON UPDATE CASCADE", оскільки я не дуже впевнений, у якій ситуації це буде корисно. Заради обговорення давайте подивіться якийсь код. CREATE TABLE parent ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) ); CREATE TABLE child ( id INT NOT …



30
Помилка MySQL 1215: Неможливо додати обмеження зовнішнього ключа
Я намагаюся переслати інженер мою нову схему на мій сервер db, але я не можу зрозуміти, чому я отримую цю помилку. Я намагався шукати відповідь тут, але все, що я знайшов, сказав, щоб або встановити db-движок на Innodb, або переконатися, що ключі, які я намагаюся використовувати як іноземний ключ, є …

11
Чи може іноземний ключ бути NULL та / або дублювати?
Прошу уточнити дві речі для мене: Чи може іноземний ключ бути NULL? Чи може іноземний ключ бути дублікатом? Як справедливо, як я знаю, NULLне слід використовувати в іноземних ключах, але в моєму додатку я можу ввести NULLі Oracle, і SQL Server, і я не знаю, чому.

13
Додати зовнішній ключ до існуючої таблиці
Я хочу додати зовнішній ключ до таблиці під назвою "каталог". ALTER TABLE katalog ADD CONSTRAINT `fk_katalog_sprache` FOREIGN KEY (`Sprache`) REFERENCES `Sprache` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL; Коли я намагаюся це зробити, я отримую це повідомлення про помилку: Error Code: 1005. Can't create table 'mytable.#sql-7fb1_7d3a' (errno: 150) …

11
Як вибрати рядки без відповідного запису в іншій таблиці?
Я виконую деякі роботи з обслуговування додатку бази даних, і я виявив, що, радість радостей, навіть якщо значення з однієї таблиці використовуються в стилі іноземних ключів, немає ніяких обмежень для зовнішніх ключів у таблицях. Я намагаюся додати обмеження FK в ці стовпці, але я знаходжу це, оскільки в таблицях вже …
323 sql  foreign-keys 

22
MySQL не може додати обмеження для зовнішнього ключа
Тому я намагаюся додати обмеження іноземних ключів до моєї бази даних як вимогу проекту, і він працював перший або два в різних таблицях, але у мене є дві таблиці, в яких я отримую помилку при спробі додати обмеження іноземних ключів. Повідомлення про помилку, яке я отримую: ПОМИЛКА 1215 (HY000): Неможливо …
314 mysql  sql  foreign-keys 

16
Введення обмеження "ІНОЗЕМНИЙ КЛЮЧ" може спричинити цикли або кілька каскадних шляхів - чому?
Я певний час боровся з цим і не можу повністю зрозуміти, що відбувається. У мене є об'єкт картки, який містить сторони (зазвичай 2) - і картки, і сторони мають етап. Я використовую EF Codefirst міграції, і міграції не вдається з цією помилкою: Введення обмеження FOREIGN KEY 'FK_dbo.Sides_dbo.Cards_CardId' на таблиці 'Sides' …

7
Як знайти всі таблиці, у яких є іноземні ключі, на які посилається конкретний table.column і мають значення для цих зовнішніх ключів?
У мене є таблиця, на основний ключ якої посилається в декількох інших таблицях як на зовнішній ключ. Наприклад: CREATE TABLE `X` ( `X_id` int NOT NULL auto_increment, `name` varchar(255) NOT NULL, PRIMARY KEY (`X_id`) ) CREATE TABLE `Y` ( `Y_id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `X_id` int …

30
Що не так із іноземними ключами?
Я пам’ятаю, як чув у Джоуста Спольського, який у подкасті 014 згадував, що він ледь не використовував іноземний ключ (якщо я правильно пам'ятаю). Однак мені здаються досить важливими, щоб уникнути дублювання та подальших проблем із цілісністю даних у вашій базі даних. У людей є якісь вагомі причини того, щоб (щоб …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.