Я пытаюсь добавить отношение к себе в существующей таблице Innodb, вот структура таблицы
Table person person_id int (10) primary key not null auto increment, parent_id int (10) NULL default null, name varchar(30)
Когда я использую эту команду
ALTER TABLE `person` ADD FOREIGN KEY ( `parent_id` ) REFERENCES `person` (`person_id`) ON DELETE RESTRICT ON UPDATE RESTRICT ;
Я получаю несоответствие типа данных ошибки. Я думаю, это может быть связано с нулевыми значениями в parent_id. Есть ли способ пропустить эту проверку?
Спасибо
person_id и parent_id должны быть точно такими же типами данных. Например, если person_id является INT UNSIGNED, а parent_id - INT, тогда вы не можете создать внешний ключ.
Запустите эту команду и сравните типы данных двух столбцов:
SHOW CREATE TABLE `person`\G