admin 发表于 2007-7-20 18:13:52

ALTER TABLE语法

ALTER TABLE语法
ALTER TABLE tbl_name
alter_specification [, alter_specification] ...

alter_specification:
ADD column_definition
| ADD (column_definition,...)
| ADD INDEX (index_col_name,...)
| ADD ]
PRIMARY KEY (index_col_name,...)
| ADD ]
UNIQUE (index_col_name,...)
| ADD (index_col_name,...)
| ADD ]
FOREIGN KEY (index_col_name,...)

| ALTER col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE old_col_name column_definition

| MODIFY column_definition
| DROP col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name
| CHARACTER SET charset_name
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
| partition_options
| ADD PARTITION partition_definition
| DROP PARTITION partition_names
| COALESCE PARTITION number
| REORGANIZE PARTITION partition_names INTO (partition_definitions)
| ANALYZE PARTITION partition_names
| CHECK PARTITION partition_names
| OPTIMIZE PARTITION partition_names
| REBUILD PARTITION partition_names
| REPAIR PARTITION partition_names

ALTER TABLE用于更改原有表的结构。例如,您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型。

infoyj 发表于 2007-10-25 12:28:21

如何取消对列的约束条件, 如 UNIQUE

某一列的约束条件是UNIQUE, 如何消除它?

ALTER TABLE tableName DROP UNIQUE columnName;
不能被执行

kider 发表于 2007-10-25 17:34:55

UNIQUE 属于索引范围,应该是删除IndexName就对了...

infoyj 发表于 2007-10-26 11:26:22

谢啦
用DROP KEY column_name 就可以了

mysqlkumao 发表于 2008-4-10 10:24:44

应该是 alter table TB_Name drop index Index_Name;

index与key同意
在创建key时,如果不给出Index_Name,MySQL自动用列名指定
页: [1]
查看完整版本: ALTER TABLE语法