mysql 随机更新表里的几条数据

mysql 随机更新表里的几条数据,第1张

1:你要随机更新的话。要先查几条随机数据。然后根据查询的数据一个特定字段去更新。但是又不能在查询的时候同时更新。会报错。要先将查询出来的存储到临时表。再进行修改。

下面是我的s_grader 表结构和我的SQL语句。就实现了随机查询两条。然后进行修改。要随机修改几条就把Limit后面的2改成几。亲测可行。

UPDATE s_grader SET Sgrad='999' WHERE  Sname in ( SELECT F.Sname FROM (SELECT * FROM s_grader ORDER BY RAND() LIMIT 2) F)

1、首先打开mysql,连接一个数据库,点击上方的【查询】按钮,再点击【新建查询】,如图所示。

2、在查询框中,输入sql语句“EXPLAIN select * from users”,前面加了EXPLAIN,则查询语句在执行时,会记录执行过程效率。

3、在查询框中,输入sql语句“EXPLAIN select * from users”,前面加了EXPLAIN,则查询语句在执行时,会记录执行过程效率。

4、然后看到结果1那一栏,可以看到,查询的表是【users】,查询类型是【SIMPLE】,type是【all】,因为用了“select *”语句。

5、最后一栏显示的是【状态】,即表示一些执行的状态,如接收到的字节数,值是多少;发送的字节数,值是多少等。

我不知道楼主为什么会有这样的问题,在数据库当中每一条数据不应该都是独立的一条吗,有它自己的特征才对。所以当你WHERE sort_code='SAMQLF'的时候很明显的意思就是更新所有匹配的数据。你如果只是更新一条,那么更新的是哪一条?是不是应该有它的特征才对,所以你应该把这个特征加上。

如果你就是那么任性的要随机更新匹配的一条,我的方案就是随机查出sort_code='SAMQLF'的一条记录的ID,用ID来更新这条记录。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6146488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存