Как вставить запись из одной таблицы в другую, количество столбцов отличается

#c# #sql

#c# #sql

Вопрос:

У меня есть 2 таблицы, Table1 и Table2

Я хотел бы вставить запись из Table1 в таблицу 2, а затем удалить эту запись из Table1 (я в основном перемещаю эту запись)

Я пытаюсь сделать следующее:

 INSERT INTO Table2 SELECT * FROM Table1 WHERE cid ="   txt_cid
DELETE FROM Table1 WHERE cid ="   txt_cid
  

Однако в таблице 2 на несколько столбцов больше, чем в таблице 1, и она не позволяет мне вставлять в нее. У меня более 80 столбцов в каждой таблице, поэтому индивидуальный ввод этих столбцов в запрос является головной болью.

Есть ли способ сделать это быстрее?

Комментарии:

1. Примите несколько таблеток от головной боли и напишите столбцы, которые принимает ваш table2.

2. Не используйте * и не указывайте нужные столбцы в INSERT SELECT предложении and . Сервер не может угадать, какие столбцы вы хотите использовать.

3. lol @Steve неужели нет другого способа сделать это?

4. Вы могли бы создать цикл, сделать там свои операторы insert и заполнить недостающие значения отсутствующих столбцов нулем или чем-то еще.

5. @K.Isaac как сервер может угадать , что вы хотите, особенно когда столбцы не совпадают?

Ответ №1:

У вас будет головная боль. Укажите столбцы и убедитесь, что типы входных и выходных данных совпадают.