mysql 建表语句出错

CREATE TABLE s_dept
(id INT(7)
CONSTRAINT s_dept_id_nn NOT NULL,
name CHAR(25)
CONSTRAINT s_dept_name_nn NOT NULL,
region_id INT(7),
CONSTRAINT s_dept_id_pk PRIMARY KEY (id),
CONSTRAINT s_dept_name_region_id_uk UNIQUE (name, region_id));
报这个语法错误:
'CONSTRAINT s_dept_id NOT NULL,
name CHAR(25)
CONSTRAIN' at line 3
为什么?把CONSTRAINT s_dept_id_nn 和 CONSTRAINT s_dept_name_nn 同时去掉,就OK了,WHY?

第1个回答  2012-12-18
mysql支持的key约束只有主键约束(PRIMARY KEY),唯一键值(UNIQUE KEY)约束和外键约束(FOREIGN KEY)。
NOT NULL的约束属于完整性约束,mysql不支持在其上指定约束名称本回答被网友采纳
第2个回答  2012-12-18
因为你指定id为主键,所以就不需要再强制约束了,这样就无需CONSTRAINT s_dept_id_nn
你又指定了名字和部门构成唯一约束,所以名字也就不需要加强制约束了本回答被提问者采纳
第3个回答  2012-12-18
错误信息是啥。。。这个是你自己建的表,俺刚装了mysql几天~~不知道password代表啥,他里面的一个函数吗?还有表名不需要引号吧,当然引号也没错,但不知道mysql里到底错了没pass=password('admin')这个看不懂
第4个回答  2012-12-18
mysql 中的CONSTRAINT只有三种是PRIMARY KEY 、UNIQUE、 FOREIGN KEY三种,没有 NOT NULL。
第5个回答  2012-12-18
有约束条件限制
相似回答