[英]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.