繁体   English   中英

用Underscore MySQL替换列名中的空格

[英]Replace Spaces in Column Name with Underscore MySQL

我继承了一个MySQL数据库,该数据库包含许多表中的许多列,这些表的名称中有空格。 我被要求将列名中的所有空格更改为下划线。 有没有办法用脚本做到这一点?

我以为我可以通过information_schema中的SELECT列出它们。...但是我不确定该如何进行替换。

我的逻辑是,如果列名包含空格,请用下划线替换。 但是我不确定该怎么做。

如果您有特权,则可以执行以下操作:

UPDATE COLUMNS SET COLUMN_NAME = REPLACE(COLUMN_NAME, ' ', '_')

但最有可能的是,您无法更改架构。

update information_schema.TABLES a
        join
    information_schema.COLUMNS b ON a.TABLE_Schema = b.TABLE_SCHEMA 
set 
    b.COLUMN_NAME = REPLACE(b.COLUMN_NAME, ' ', '_')
where
    a.TABLE_SCHEMA = 'YOURDBNAME'; 

如果您具有information_schema数据库的特权,那么Raheel Hasan的答案应该是正确的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM