我正在尝试使用以下查询向我的表中添加一列gender
:
ALTER TABLE QRCodeUser ADD gender CHAR(1) enum('M','F') NOT NULL;
我遇到了这个错误:#1064 - 在第一行附近使用'enum('M','F') NOT NULL',请检查与您的MySQL服务器版本相对应的手册以使用正确的语法。
我的错误在哪里?
尝试这个(您不需要指定大小,char(1)
):
ALTER TABLE QRCodeUser ADD gender enum('M','F') NOT NULL;
语法的正确使用:
ALTER TABLE table_name ADD column_name enum(`field1`,`field2`,...);
value1
,value2
,..., value_n);不能同时定义CHAR(1),因为ENUM是一种类型。mysql 内部使用int来表示ENUM,它使用定义中值的序数位置,因此value1等于0,value2等于1,value_n等于n。希望有帮助。 - TexWiller
CHAR(1)
是一种类型。enum('M','F')
也是一种类型。一个列只能有一种类型。 - Mark Amery