#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:
У вас будет головная боль. Укажите столбцы и убедитесь, что типы входных и выходных данных совпадают.