У меня есть CREATE TABLE ` дб ` .` главный ` ( ` идентификатор ` INT ( 10 ) без знака NOT NULL , PRIMARY KEY (` идентификатор ') ); содержащий 2 записи.
Что-то вроде
CREATE TABLE `db`.`day` (
`main_id` int(10) unsigned NOT NULL,
`day` tinyint(4) NOT NULL,
CONSTRAINT `fk_db_main` FOREIGN KEY (`main_id`) REFERENCES `main` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
);
ВЫБОР * ОТ Основной , где ID = «9» ; для этих 2 записей автоматически генерируются первичные ключи.
У меня есть другая таблица с привязкой правила
INSERT INTO day (main_id, day) VALUES (9, 0);
теперь я могу успешно получить результат, используя
db
но когда я пытаюсь запустить
day
я получил
«Невозможно добавить или обновить дочернюю строку: внешний ключ fk_db_main не работает ( main_id
. main
, CONSTRAINT id
FOREIGN KEY ( db.
) ССЫЛКИ CREATE TABLE
( main
) ON УДАЛИТЬ НЕТ ДЕЙСТВИЙ НА ОБНОВЛЕНИИ НЕТ ДЕЙСТВИЙ) (1452)"
Любые предложения о том, что мне не хватает вставки?
** Я не перечислил фактическую причину проблемы, задавая вопрос. Фактическая причина заключалась в том, что таблица id db находилась в MyISAM, а таблицы InnoDB не могли создать внешний ключ, подключающийся к нему. Короче говоря, MyISAM не поддерживает внешние ключи, даже если они поступают из других таблиц.
sql,mysql,