把表game字段kg的值中iw字符串去掉。
update game set kg=replace(kg,'iw','') where kg in (select kg from game where kg like '%iw%');
会报错:1093 - You can't specify target table。update语句中包含的子查询的表和update的表为同一张表时,会报错。
给查询加别名,用中间表来实现不是对同一表作操作。
update game set kg=replace(kg,'iw','') where kg in (select * from(select kg from game where kg like '%iw%') tempTable);
将tail表中number为8的qty字段,修改成7,要通过临时表实现之。
UPDATE tail SET qty="7" WHERE id= (SELECT * from (SELECT id FROM tail WHERE number="8") tempTable)