Пакетная проблема в MySQL? - PullRequest
0 голосов
/ 25 мая 2009

У меня есть скрипт в MySQL, который создает две таблицы, вторая таблица ссылается на поле в первой таблице, теперь, когда я пытаюсь запустить этот скрипт в одном пакете, он возвращает ошибку. Я предполагаю, что перед созданием таблиц он проверяет ссылочную таблицу во втором определении таблицы.

Есть идеи, как создать обе таблицы одновременно?

Спасибо

Edit:

Пример:

CREATE TABLE table1
(
    ID INT NOT NULL,
    PRIMARY KEY (ID)
) ENGINE=InnoDB;

CREATE TABLE table2
(
    ID INT NOT NULL,
    FID INT NOT NULL ,
    PRIMARY KEY (ID),
    FOREIGN KEY (FID) REFERENCES table1 (ID)
) ENGINE=InnoDB;

Если я создаю первую таблицу, то создаю вторую таблицу, все работает нормально, но когда я запускаю это в одном пакете, он возвращает ошибку

Обновление: Похоже, что эта проблема была решена с MySQL 5.5. Теперь он работает правильно в одном пакете, даже если в некоторых определениях таблиц есть ограничения внешнего ключа.

1 Ответ

3 голосов
/ 25 мая 2009

простая вещь, чтобы сначала создать 2 таблицы, после этого измените таблицу и добавьте ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...