关于在同一张表中做数据的复制(需要有条件更新)
- 关于数据的批量插入
使用这种方法会出现主键冲突之类的情况!这个时候我们的需求变了,我要插入一系列的相同数据,有些值如果批量插入必然会造成冲突,这个时候我们需要将查的字段做一个改变之后在插入到这个表中!前提是字段和结构是相同的情况下,可以做类似的插入 insert into table1 select * from table2
- 使用nullif做选取
不知道大家看有没有些奇怪,对同一个表这样批量操作,这个是符合上面的条件的,如果year为主键,上面的操作必然在同一个表中会出现主键冲突,所以我们曲线操作,本来就要将查到的year更新之后保留其他字段插入到同一表中,使用nullif,只要expr1和expr2不相同,我们就能做到更新字段后的批量插入。insert into table(year,name) select nullif(expr1,expr2) as yaer name from table where year = ?
不成熟的写法,欢迎大佬指正