筛选数据库中表,然后更新每个表中相同列值的方法

时间:2019-07-10 15:21:26

标签: mysql sql

我可以分别更新表中的值,并且可以根据需要过滤表,但是在合并两者时遇到了困难

我看过在另一个查询上运行一个sql查询,但只能找到类似的内容。

SELECT <SOMETHING HERE> FROM
(
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'table&example' 
) AS SUBQUERY
  1. 这就是我更新表中值的方式。 UPDATE `table_1_example` SET `comment_status` = 'closed' WHERE `post_type` = 'attachment' AND `comment_status` = 'open';

  2. 这是我获取所需所有表格的方式 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'table%example'

编辑:

我还刚刚发现this post,它说明了如何在许多表上更新多个相同的列。

他们做了这样的事情

  

如果这是一次性任务,只需运行此查询,然后将结果复制并粘贴到查询窗口中并运行

Select 'UPDATE ' + TABLE_NAME + ' SET CreatedDateTime = ''<<New Value>>'' '
From INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME = 'CreatedDateTime'

尽管我不太确定查询窗口的含义是什么……我正在使用MySQL工作台。


我现在已经使用上面的脚本弄清楚了,我做了这样的事情。

SELECT 'UPDATE ' + TABLE_NAME + ' SET comment_status = ''closed'' WHERE post_type = ''attachment'' AND comment_status = ''open'';'
 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'test&example' 

0 个答案:

没有答案