wsv
Новичок
MySQL AutoIncrement & ForeignKey
Всем привет.
Перешарил интернет, ответа не нашел...
Есть таблица Т1. В ней лежат записи типа ID,NAME. Здесь ID - автоинкрементное поле. Запись с ID равным 0 добавлена вручную - для последующих ссылок на неё из Т2 по ForeignKey (дефолтное значение).
Делаем бэкап таблицы Т1, получаем скрипт с определением и данными в виде инсертов.
Например:
INSERT INTO Т1 (ID,NAME) VALUES
(0,'Не определено'),
(1,'Имя1'),........ и т.д.
При выполнении такого инсерта в чистую таблицу T1 - вставляются записи с ID=1,2,3..... А нулевая встает последней, УЖЕ С ID равным автоинкременту.
КАК БОРОТЬСЯ в таких случаях?
Дело в том, что после заполнения Т1 необходимо сразу же, скрипто заполнить Т2, в которой ForeignKey к Т1 с дефолтным значением 0.
Т.е. ход выполнения такой:
INSERT INTO Т1 (ID,NAME) VALUES
(0,'Не определно'),
(1,'Имя1'),........ и т.д.
INSERT INTO Т2 (ID,ID_NAME) VALUES
(0,0),
(1,1),........ и т.д.
Здесь и есть ошибка заполнения Т2, т.к. бывшая нулевая запись вставилась не с нулевым номером...
Если баян, прошу не пинать, а ткнуть пальцем, где лежит.
Спасибо.
Всем привет.
Перешарил интернет, ответа не нашел...
Есть таблица Т1. В ней лежат записи типа ID,NAME. Здесь ID - автоинкрементное поле. Запись с ID равным 0 добавлена вручную - для последующих ссылок на неё из Т2 по ForeignKey (дефолтное значение).
Делаем бэкап таблицы Т1, получаем скрипт с определением и данными в виде инсертов.
Например:
INSERT INTO Т1 (ID,NAME) VALUES
(0,'Не определено'),
(1,'Имя1'),........ и т.д.
При выполнении такого инсерта в чистую таблицу T1 - вставляются записи с ID=1,2,3..... А нулевая встает последней, УЖЕ С ID равным автоинкременту.
КАК БОРОТЬСЯ в таких случаях?
Дело в том, что после заполнения Т1 необходимо сразу же, скрипто заполнить Т2, в которой ForeignKey к Т1 с дефолтным значением 0.
Т.е. ход выполнения такой:
INSERT INTO Т1 (ID,NAME) VALUES
(0,'Не определно'),
(1,'Имя1'),........ и т.д.
INSERT INTO Т2 (ID,ID_NAME) VALUES
(0,0),
(1,1),........ и т.д.
Здесь и есть ошибка заполнения Т2, т.к. бывшая нулевая запись вставилась не с нулевым номером...
Если баян, прошу не пинать, а ткнуть пальцем, где лежит.

Спасибо.