背景:
现在有一张数据库表table_a,有一个自增id和日期date_str字段,现在需要把这个表使用insert into方法把date_str=20240303的数据重新插入并且把date_str改为20240305,可以使用如下语句实现:
insert itno table_a
select id,20240305 as date_str,colum_a,column,b from table_a where date_str=20240303;
但是由于id是自增的,这样插入id会重复导致报错,故而需要解决这个问题.
解决方法:
在insert into 时指定字段,因为id是自增的,所以不需要再写入这个字段,代码如下:
insert into table_a(date_str,column_a,column_b)
select 20240305 as date_str,column_a,column_b from table_a where date_str=20240303;
这样就可以解决上述问题了!