所以我在SQL中有许多表,内容有一个名为“hashtag_id”的键,其中包含一个数字(在本例中为1-5)。我想快速进入并将ID为“1”的所有项目更改为“5”。
有没有办法自动执行此操作?
答案 0 :(得分:2)
update table set hashtag_id = 5
where hashtag_id = 1;
如果你有多个表,你可以在phpmyadmin(或任何mysql管理工具)中做类似的事情
这将查询information_schema.columns表(描述所有表和列),并为名为hashtag_id
的每个列编写更新查询。
SELECT CONCAT('UPDATE ',
table_name,
' SET ',
column_name,
' = 5 WHERE ',
column_name,
' = 1;'
)
FROM information_schema.columns
WHERE column_name = 'hashtag_id';
--maybe add AND table_schema = <your_schema>
复制并执行结果
这可能也可以在使用动态sql的存储过程中完成(在MySQL中不常用,所以没有例子)。
答案 1 :(得分:1)
对于每个表,您需要运行以下查询:
UPDATE yourtable
SET hashtag_id = 5
WHERE hashtag_id = 1
这会找到hashtag_id
为1的所有行,并将其设置为5.
要获取所有表的名称,可以运行以下查询:
SELECT table_name
FROM information_schema.columns
WHERE table_schema = 'your_schema'
AND column_name = 'hashtag_id'
答案 2 :(得分:0)
UPDATE MyTable
SET hashtag_id=5
WHERE hashtag_id=1;