代码之家  ›  专栏  ›  技术社区  ›  nowox

重命名整个数据库中的列名(所有架构)

  •  0
  • nowox  · 技术社区  · 5 年前

    deviceID 变成更多 风格 device_id s/deviceID/device_id 似乎是最好的解决办法。

    所以我写了这个助手:

    SELECT 
        CONCAT('ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME,
                '` CHANGE COLUMN `', COLUMN_NAME, '` `device_id` ', 
                COLUMN_TYPE, IF(IS_NULLABLE = 'YES', ' NULL', ' NOT NULL'),
                IF (COLUMN_DEFAULT IS NULL, '', CONCAT('DEFAULT ', COLUMN_DEFAULT)), ';')
    FROM
        INFORMATION_SCHEMA.COLUMNS
    WHERE
        COLUMN_NAME LIKE 'deviceID';
    

    然后我可以通过管道将输出导入 mysql .

    有更简单、更安全的解决方案吗?

    0 回复  |  直到 5 年前