如何用一条SQL语句Update一个表里的多条数据的几个相同字段的值?

下周。
他是我的朋友。
当更新SQL数据时非常方便 成为作者。
字段的状态和数量。
我想下订单,ID 介于 1 1 到 1 5 之间。
状态更改为完成。
数量改为4 1 就写这句话吧。
更新到 状态=1 ; 数量 = 4 1 其中 1 1 到 1 5 之间 简单。
但有几点需要注意。
状态和数量。
字段名称必须正确。
你不能写错。
ID 范围也必须准确。
1 1 至 1 5 之间 这个范围值得商榷。
在那之前似乎更好。
具体数据必须更新。
使用选定的句子。
从订单中选择 其中 1 1 到 1 5 之间 跑一跑。
看看有什么记录。
这确实需要改变。
这样比较安全。
数据库系统不同。
语法可能略有不同。
就像其他事情一样。
检查文件以确认。
批量更新。
它影响结果。
尤其是丰富的数据。
警告。
响应时间 资源利用。
系统会卡住吗? 反正。
SQL H 版本。
更新很多记录。
非常高效。
但操作一定要平稳。
别搞错了。
数据安全至关重要。
他们永远不知道

手摸手系列之批量修改MySQL数据库所有表中某些字段的类型/注释/默认值

说实话,说到MySQL中批量编辑字段,你得一步一步来。
我以前做过这个,当时真的很困惑。

第一步是找出答案。
您必须使用SQL语句搜索系统表,看看哪些表包含您要修改的字段以及它们当前是什么类型。
例如,如果要更改 TENANT_ID 字段,则必须检查该字段为十进制类型的所有表。
这一步非常重要,不然乱改就毁了。
因为这个我修改了一个错误的表,数据完全错误。
我花了很长时间才恢复它。

第二步是构造SQL语句。
验证后将结果转化为可以批量改变类型的SQL。
只需使用像 CONCAT 这样的函数将找到的表名、字段名和更改的类型组合到更新语句中。
例如,将 TENANT_ID 从十进制更改为 h3int,并将 DEL_FLAG 从十进制更改为 int。
这一步需要特别小心。
如果一个陈述是错误的,那么大图可能是错误的。

第三步是执行。
将写入的SQL复制到MySQL窗口并运行。
我已经在一个有数百张桌子的小型图书馆上尝试过,并且花了一段时间。
说实话,看着进度条,我真的很着急。

第四步是更改默认值和注释。
更改类型后,您仍然需要更改默认值和注释。
例如,将DEL_FLAG的默认值设置为0,并添加注释进行解释。
这一步比较简单,只需要额外写一些SQL即可。

第五步,验证。
修改完之后需要检查一下,不然生产环境出了问题就惨了。
只需打开一个表并使用 DESCRIBE 或 SHOWFULLCOLUMNS 等语句即可查看字段信息是否正确。
我使用 DESCRIBE 逐个检查表,这是一项艰巨的任务。

最后提醒:在进行任何更改之前请务必保存!最好备份整个数据库。
我有一个朋友没有备份,中途修改后系统就崩溃了。
所有的数据都消失了,他无处可哭。
如果这不起作用,请先在测试环境中运行它,确保 SQL 没有问题,然后再转到生产环境。
别着急,慢慢来。