2013-03-07 3 views
1

Почему мой запрос на вставку вставляет 9 записей, когда у меня всего 3 записи?Вставить запрос для связанных таблиц

Вот моя структура таблицы:

SubjectTable

SubjectID (Autonumber) Primary Key 
MasterID (Number)  Foreign Key 
Description (Text) 

MasterTable

MasterID (Autonumber) Primary Key 
StatusID (Number)  Foreign Key 
StudentID (Text) 
Description (Text) 

StatusTable

StatusID (Autonumber) Primary Key 
Description (Text) 

Таблица Отношения:

MasterTable (One) --> (Many) SubjectTable 
StatusTable (One) --> (Many) MasterTable 

Данные из Table1 должны быть вставлены в MasterTable:

StudentID Description 
JP121  Description 1 
SP223  Description 2 
JK111  Description 3 

Вставка запросов:

INSERT INTO Master (StudentID) 
SELECT Table1.StudentID 
FROM Table1; 
+0

Чтобы проверить, что вы показали выше, это все содержимое таблицы 1, а таблица «МастерТаблица» пуста перед запуском запроса? – mellamokb

+0

Нет, у MasterTable уже есть данные. Все таблицы уже имеют в них данные. Я пытаюсь сделать дамп данных, используя запрос insert – user793468

+0

@mellamokbtheWise Да, я тестирую это с меньшим набором данных, прежде чем делать это на более крупном. В таблице 1 есть больше столбцов, но я просто вставляю StudentID для тестирования. – user793468

ответ

1

Используете запрос INSERT программно? Возможно, его выполняли несколько раз.

EDIT: Просто глупый вопрос запроса.

+0

Я вручную запускаю запрос INSERT. Только раз. – user793468

+0

Просто из любопытства, как вы вставляете в MasterTable, не предоставляя StatusID (учитывая его внешний ключ)? Возможно, есть какой-то встроенный триггер, который вставляет данные один раз для каждого StatusID. – crazylpfan

+0

Он не показывает никаких ошибок, я попытаюсь вставить его с StatusID и посмотреть, все ли он вставляет несколько раз. – user793468

Смежные вопросы