insert into table select * from table where primarykey=1
Я просто хочу скопировать одну строку для вставки в ту же таблицу (т.е. хочу дублировать существующую строку в таблице), но я хочу сделать это, не перебирая все столбцы после "select", потому что в этой таблице слишком много столбцов.
Но когда я это сделаю, я получаю сообщение об ошибке:
Дублировать запись 'xxx' для клавиши 1
Я могу справиться с этим, создав другую таблицу с теми же столбцами, что и временный контейнер для записи, которую я хочу скопировать:
create table oldtable_temp like oldtable;
insert into oldtable_temp select * from oldtable where key=1;
update oldtable_tem set key=2;
insert into oldtable select * from oldtable where key=2;
Есть ли более простой способ решить эту проблему?