1、第一种:使用b表数据更新a表
update Player as a ,PlayerSet as b set a.role_id=b.set_value where a.role_id=b.set_key
2、第二种:也是使用b表数据更新a表,只是方法不一样
update RoleSet set_key=(SELECT name FROM Player where id = RoleSet.set_value);
3、第三种:使用中间表,解决下面错误
Error Code: 1055. Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xxxxxxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (中文意思大概是:不能对同一张表进行同时读写)
4、分享一个小技巧:使用变量增加不重复后缀
set @i:=1; update Group SET name=CONCAT(name,'_', (@i:=@i+1)) where name in ( SELECT a.GroupName from ( SELECT name as GroupName FROM Group GROUP BY name HAVING count(*) > 1 ) as a );
这上面的内容就是MySQL数据库update更新中的所有内容了,看的不过瘾那就多练习几次多我们的今后的开发生涯绝对会起到不小的帮助!!
再来几篇:
update更新,batch批量更新insert 数据到表中,将表中数据插入到另一个表中insert ignore忽略重复数据插入报错问题update更新。
MySQL数据库select for update的使用方法
Mysql SELECT FOR UPDATE MySQL 使用SELECT ... FOR UPDATE 做事务写入前的确认
以上就是MySQL数据库update语句使用详解的详细内容,更多请关注php中文网其它相关文章!
……