【问题标题】:Update based on select from INFORMATION_SCHEMA基于从 INFORMATION_SCHEMA 中选择的更新
【发布时间】:2017-01-26 21:19:18
【问题描述】:

我有这个问题:

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE column_name LIKE 'organization_id'

根据结果,我想用 'organization_id' = something; 更新所有返回的表像这样的:

UPDATE (above query results) SET `organization_id` = 'something'

【问题讨论】:

    标签: mysql select information-schema


    【解决方案1】:

    这是动态 SQL 的工作。

    试试这个:

    SELECT DISTINCT CONCAT('UPDATE ',t.table_name,' SET organization_id = <ID> ;')
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE column_name LIKE 'organization_id'
    

    然后复制输出并执行。

    【讨论】:

    • 谢谢。实际代码是这样的:SELECT DISTINCT CONCAT('UPDATE ',t.table_name,' SET organization_id = 1 ;') FROM INFORMATION_SCHEMA.COLUMNS AS t WHERE column_name LIKE 'organization_id'
    猜你喜欢
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 2013-06-23
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多