last day (15 days later) » 

10:41 AM
0
Q: MySQL не работает внешний ключ

Alexandr AlexandrЗдравствуйте! Проблема такая: создал 2 таблицы - "Группа" и "Студент". Связал их по полю группы. При добавлении данных не проверяется целостность, т. е. можно добавить студента в группу, которой нет в таблице "Группа" SQL код таблиц CREATE TABLE `gruppa` ( `grup_num` int(11) NOT NULL AUTO_INCR...

 
Чисто на всякий случай: добавьте пример инсерта, который работает, а не должен бы.
 
INSERT INTO student VALUES ('1','1','1') Таблица с группами - пустая
 
Не в комментарии, в вопрос. Заведите привычку всю важную для вопроса информацию добавлять прямо в вопрос. Комментарии могут в любой момент сгореть.
А если после этого селектнуть эту строчку, какая возвращается?
 
@D-side возвращает так как вставил. в таблице данные есть
 
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`test`.`student`, CONSTRAINT `student_ibfk_1` FOREIGN KEY (`num_gruppa`) REFERENCES `gruppa` (`grup_num`)) Этим заканчивается прямой копипейст из вопроса в REPL mysql. Сервер версии 5.7.19. Тут явно что-то ещё.
 
10:41 AM
@D-side значит что-то с сервером. мб это где-то включается/выключается в настройках? чего еще не может быть. я просто скопировал то что писал в workbench
 
SELECT @@FOREIGN_KEY_CHECKS;?
 
а где это писать?
 
Выполнить так же, как запросы/создания.
Посмотреть результат.
Если там 1, значит проверки включены. Если нет -- в этом и проблема.
 
ваще не выполняется эта команда.
 
Надеюсь, вы без знака вопроса её скопировали? :D
 
10:44 AM
а не. выполняется. 0.
 
Ну вот.
 
я S забыл дописать)
 
У вас внешние ключи тупо выключены.
 
крутяк. как включить?
 
747
A: How to temporarily disable a foreign key constraint in MySQL?

Andrew CampbellTry DISABLE KEYS or SET FOREIGN_KEY_CHECKS=0; make sure to SET FOREIGN_KEY_CHECKS=1; after.

 
10:46 AM
заработало! благодарю. отправьте как ответ
 
Возможно, с GLOBAL.
 

last day (15 days later) »