[英]Alter all columns WHERE datatype
有没有办法更改数据库中具有特定数据类型的所有列?
我有一些列,其数据类型为datetime(6)
,如果有的话,我只是希望它们为datatime
...而没有6 datatime
数。 是否可以在MySql中执行而不必指定每一列? 谢谢
您必须使用必要的语句创建文本字符串并将其保存在某处(我没有带有datetime(6)的列,但必须像这样):
select
concat('ALTER TABLE ',
TABLE_SCHEMA,
'.',
table_name,
' CHANGE COLUMN ',
Column_name,
' ',
Column_name,
' DATETIME NULL DEFAULT NULL')
from
INFORMATION_SCHEMA.COLUMNS
where
table_schema = 'my_schema'
and data_type = 'datetime'
and character_maximum_length = 6 #may be numeric_precision, i don't know
使用exec语句后,如下所示:
PREPARE stmt1 FROM 'ALTER TABLE ....';
EXECUTE stmt1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.