我有一个mysql表,它看起来像这样:
----------------------
| ID | Status |
----------------------
| 0 | not ready |
| 1 | not ready |
| 2 | not ready |
| 3 | not ready |
| 4 | not ready |
| 5 | not ready |
| ... | not ready |
----------------------和一个文件,其中包含如下所示的ID列表:
0
1
13
24
133
...我希望在此文件中列出的每个ID中将此表中的Status设置为ready。有办法用bash脚本来完成吗?最好是在一个登录会话中。我不想做这样的事:
for line in file:
mysql --user="me" --password="mypass" --database="db" --execute="exec this line"每次行变的时候,我都要登录
发布于 2014-06-01 00:47:08
对于一个小的ID列表,请使用以下命令:
mysql [options] --execute="UPDATE table SET Status='ready' WHERE ID IN (`paste -sd, id_file.txt`);"对于更大的ID集,重新格式化文件以包含ID和状态字段,将其复制到服务器,然后使用LOAD语句和REPLACE选项。
https://stackoverflow.com/questions/23834333
复制相似问题