日期:2014-05-16  浏览次数:20829 次

mysql数据库 enum类型问题
有个字段是enum类型的,创建表的时候默认给了几个值
create tb_test(
id bigint,
filed_test enum('aa','bb') DEFAULT NULL;
)

我现在想修改往enum里边增加一个值'cc',请问sql语句怎么写????

alt tb_test modify filed_test enum('aa','bb','cc') DEFAULT NULL;
这样写报错,请大侠指点!


------解决方案--------------------
我不太相信你的create语句能通过,应该是create table tb_test,alt也不是正确的写法。

应该是:
SQL code

create table tb_test( id bigint, filed_test enum('aa','bb') DEFAULT NULL);
alter table tb_test modify filed_test enum('aa','bb','cc') DEFAULT NULL;

------解决方案--------------------
SQL code
mysql> create table tb_test(
    -> id bigint,
    -> filed_test enum('aa','bb') DEFAULT NULL
    -> );
Query OK, 0 rows affected (0.13 sec)

mysql> alter table tb_test modify filed_test enum('aa','bb','cc') DEFAULT NULL;
Query OK, 0 rows affected (0.11 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show create table tb_test;
+---------+---------------------------------
-----------------------------------------+
| Table   | Create Table
                                                                             |
+---------+---------------------------------
-----------------------------------------+
| tb_test | CREATE TABLE `tb_test` (
  `id` bigint(20) DEFAULT NULL,
  `filed_test` enum('aa','bb','cc') DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+---------+---------------------------------
-----------------------------------------+
1 row in set (0.00 sec)

mysql>