Вопросы с тегом «foreign-keys»

Внешние ключи - это функция целостности данных реляционных (и SQL) баз данных. Внешний ключ - это набор атрибутов в реляционной таблице, на который распространяется ограничение ссылочной целостности. Ограничение ссылочной целостности требует, чтобы значения атрибутов внешнего ключа в одной таблице A соответствовали соответствующим значениям в некоторой указанной таблице B (которая иногда может совпадать с таблицей A).


12
Как урезать таблицу с внешним ключом?
Почему не TRUNCATE на mygroupработе? Даже если у меня есть, ON DELETE CASCADE SETя получаю: ОШИБКА 1701 (42000): Невозможно обрезать таблицу, на которую ссылается ограничение внешнего ключа ( mytest. instance, CONSTRAINT instance_ibfk_1FOREIGN KEY ( GroupID) ССЫЛКИ mytest. mygroup( ID)) drop database mytest; create database mytest; use mytest; CREATE TABLE mygroup …


28
Не удается усечь таблицу, потому что на нее ссылается ограничение FOREIGN KEY?
Используя MSSQL2005, можно ли обрезать таблицу с ограничением внешнего ключа, если я сначала усекаю дочернюю таблицу (таблицу с первичным ключом отношения FK)? Я знаю, что я могу либо Используйте DELETEбез условия where, а затем RESEEDличность (или) Удалите FK, обрежьте таблицу и воссоздайте FK. Я думал, что пока я обрезаю дочернюю …

6
Когда использовать «ОБНОВЛЕНИЕ КАСКАДА»
Я регулярно использую «ON DELETE CASCADE», но никогда не пользуюсь «ON UPDATE CASCADE», так как не уверен, в какой ситуации это будет полезно. Ради обсуждения, давайте посмотрим код. CREATE TABLE parent ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) ); CREATE TABLE child ( id INT NOT NULL AUTO_INCREMENT, …



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

11
Может ли внешний ключ быть пустым и / или дублированным?
Пожалуйста, уточните две вещи для меня: Может ли внешний ключ быть пустым? Может ли внешний ключ быть дублированным? Насколько я знаю, NULLего нельзя использовать во внешних ключах, но в некоторых моих приложениях я могу вводить данные NULLкак в Oracle, так и в SQL Server, и не знаю почему.

13
Добавить внешний ключ в существующую таблицу
Я хочу добавить внешний ключ в таблицу под названием "katalog". 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 не может добавить ограничение внешнего ключа
Поэтому я пытаюсь добавить ограничения внешнего ключа в свою базу данных в качестве требования проекта, и это сработало в первый или два раза для разных таблиц, но у меня есть две таблицы, в которых я получаю сообщение об ошибке при попытке добавить ограничения внешнего ключа. Я получаю сообщение об ошибке: …
314 mysql  sql  foreign-keys 

16
Введение ограничения FOREIGN KEY может вызвать циклы или несколько каскадных путей - почему?
Я боролся с этим некоторое время и не могу понять, что происходит. У меня есть сущность Карты, которая содержит Стороны (обычно 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 DEFAULT NULL, …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.