При добавлении данных в таблицу нужно пропустить колонку, которая в новой таблице больше не существует (перестала существовать, т.к. была удалена). Пример ниже не работает:
INSERT INTO tab(col1, col2, @dummy, col4) VALUES(1,2,3,4);
Нашел такое решение:
INSERT INTO tab(col1, col2, col4)
SELECT
с1, с2, с4
FROM
(VALUES(1, 2, 3, 4)) AS x(с1, с2, с3, с4);
Может есть способ проще?
Можно ли подсунуть какую-то временную переменную?
(NULL и 0 не канает - я проверял)
P.S. Если добавлять по-старому:
INSERT INTO tab(col1, col2, col3, col4) VALUES(1,2,3,4);
MySQL error: (1054, «Unknown column 'col3' in 'field list'»)
Если указать существующую колонку дважды:
INSERT INTO tab(col1, col2, col4, col4) VALUES(1,2,3,4);
MySQL error: (1110, «Column 'col4' specified twice»)