create table emp(empno int(4)primary key,ename varchar(10),age int(2),job varchar(9),sal int(7,2),detpon int(2),constraint c1 check(age<=60),constraint fk_deptno foreign key(deptno)references dept(deptno));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',2),detpon int(2),constraint c1 check(age<=60),constraint fk_deptno foreign key(' at line 1
int直接给个长度就行了,这样试试
CREATE TABLE emp (
empno INT (4) PRIMARY KEY,
ename VARCHAR ( 10 ),
age INT ( 2 ),
job VARCHAR ( 9 ),
sal INT ( 7 ),
detpon INT ( 7),
CONSTRAINT c1 CHECK ( age <= 60 ),
CONSTRAINT fk_deptno FOREIGN KEY ( deptno ) REFERENCES dept ( deptno )
);
我需要更多的信息才能确定如何解决这个问题,例如具体的MySQL语句和产生错误的MySQL版本。但是,一般来说,语法错误1064(42000)通常是由于MySQL语句的错误导致的,可能是由于选项拼写错误、表不存在、缺失括号或引号等导致的。以下是一些可能的解决方法:
1.检查MySQL语句的语法,特别是在报错的第1行的语法。可以使用MySQL自带的解释器或命令行客户端,在执行语句前检查语法是否正确。例如,在命令行客户端中,可以使用语句EXPLAIN来检查语法是否正确,这样做还可以优化查询。
2.检查表是否存在,并检查表字段及其数据类型的定义是否正确。如果表不存在或表结构与定义的字段不匹配,可能会导致语法错误。
3.检查约束条件是否正确,例如检查年龄是否小于等于60岁、部门编号是否符合外键的定义等等。如果约束条件错误,可能会导致语法错误。
4.如果使用的是旧版本的MySQL,请检查MySQL的手册以确保使用了正确的语法。
如果以上解决方法都没有解决问题,我建议参考一下Stack Overflow等技术问答网站,或者提交一个具体的示例以供更好的帮助和解决方案。
少个,吧