INSERT INTO tableA (SELECT * FROM tableB);
создает ошибку
"Дублирующая запись '1' для ключа Primary".
tableA имеет поле «Крышка», которое является основным, с автоинкрементом и вызывает ошибку.
tableB имеет набор записей с идентичными полями для tableA. Крышка поля пронумерована 1-40.
Мне нужно, чтобы ВСЕ записи из таблицы B добавлялись в таблицу A каждый раз, когда новый пользователь входит в мою систему. После копирования в TableA записи обновляются с этим идентификатором пользователя UserID. Когда таблица B добавляется к таблице A, поле tableA.Lid должно автоматически увеличиваться, а не извлекать дублирующее значение из таблицы B.
Следующее работает, но я хочу избежать указания имен полей в коде:
INSERT INTO tableA (field2, field3,...) SELECT field2, field3, ... FROM tableB
Я пропускаю field1, которое является основным полем автоинкремента "Lid".
Если бы я установил tableB.Lid в null, это сработало бы?
Я хочу использовать INSERT INTO tableA (SELECT * FROM tableB)
, поскольку это позволяет избежать указания имен полей в коде.