到目前为止,我这样做是这样的:MySQL - 如何重命名列?
"ALTER TABLE `database_name`.`table_name` CHANGE
`old_column_name` `new_column_name` column_type_now"
但是,这是有问题的,如果列有没有空的默认值或者是一个关键,因为当列被重命名这些东西被丢弃。
我该如何处理这个问题?
到目前为止,我这样做是这样的:MySQL - 如何重命名列?
"ALTER TABLE `database_name`.`table_name` CHANGE
`old_column_name` `new_column_name` column_type_now"
但是,这是有问题的,如果列有没有空的默认值或者是一个关键,因为当列被重命名这些东西被丢弃。
我该如何处理这个问题?
尝试:
ALTER TABLE `database_name`.`table_name` CHANGE
`old_column_name` `NEW Column Name` varchar(255) DEFAULT NOT NULL
替换用的Varchar列的你正在做的类型。
你也可以让它
`DEFAULT NULL`
如果你喜欢它为空。
是否有效?
谢谢,但这不处理键或约束... – MATH000
哦,对不起。除此之外,我唯一知道的就是创建一个新表并导入数据,但这非常耗时。而且不具有可扩展性。 –
试试这个:
ALTER TABLE "table_name" CHANGE "old_column_name" "new_column_name" DATATYPE;
FOR ORACLE:
ALTER TABLE "table_name" RENAME COLUMN "old_column_name" TO "new_column_name";
[MySQL中重命名外键列]的可能的复制(http://stackoverflow.com/questions/2014498/renaming-foreign-key-columns-in-mysql) – MikeTheLiar
这个问题为什么这个问题用vb.net标记? – Jeroen