MySQL错误6400(42000)查手册对应你的Mysql server版本
Posted
技术标签:
【中文标题】MySQL错误6400(42000)查手册对应你的Mysql server版本【英文标题】:MySQL error 6400 (42000) check the manual corresponds to your Mysql server version 【发布时间】:2014-06-19 06:21:19 【问题描述】:这是我的桌子:
mysql> create table medication(
mid int (11) not null auto_increment primary key,
tid varchar(255) not null,
titname varchar(255) not null,
minvalue varchar(255) not null,
maxvalue varchar(255) not null,
disc varchar(255) not null,
tanem varchar(255) default null);
这是错误
错误 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'maxvalue varchar(255) not null, disc varchar(255) not null, tname varchar(255) d ' 附近使用正确的语法
我的 sql 版本是:5.6.19 - win 32 操作系统:Windows 7、64 位
其他表以几乎相同的模式成功保存。但是这个表只显示错误。
帮帮我,谢谢。
【问题讨论】:
DDL 看起来不错,我刚刚测试过,它可以工作!! 文本中可能有一些 unicode char(人眼无法区分),您可以做的诊断是尝试使用#
注释掉一些行以查看哪一点你有错误。
【参考方案1】:
maxvalue
是mysql中的保留关键字
mysql> create table medication(
mid int not null auto_increment primary key,
tid varchar(255) not null,
titname varchar(255) not null,
minvalue varchar(255) not null,
`maxvalue` varchar(255) not null,
disc varchar(255) not null,
tanem varchar(255) default null);
Working Fiddle
【讨论】:
@user3755094 你能检查一下SQL fiddle 我上面提到的那个 你用反引号表示最大值吗??【参考方案2】:maxvalue
是mysql中的保留关键字。检查Manual 以获取保留字。
create table `medication`(
`mid` int (11) not null auto_increment primary key,
`tid` varchar(255) not null,
`titname` varchar(255) not null,
`minvalue` varchar(255) not null,
`maxvalue` varchar(255) not null,
`disc` varchar(255) not null,
`tanem` varchar(255) default null);
【讨论】:
总是习惯用反引号写字段名和表名 是的 maxvalue 是保留关键字,那么我如何声明该关键字?按照你给出的进入表格后我仍然遇到问题。 好的,我通过将“最大值”更改为“最大值”得到了它。但我不能使用“最大值”并执行吗? 是的,您可以使用 maxvalue,但请记住使用像maxvalue
这样的反引号,您可以给我您现在尝试过的创建表查询吗?
你找到解决方案了吗?以上是关于MySQL错误6400(42000)查手册对应你的Mysql server版本的主要内容,如果未能解决你的问题,请参考以下文章
从 MySQL 表 1064 读取数据时出错 (42000)
Cakephp SQLSTATE [42000]:语法错误或访问冲突:1064
未捕获的 PDOException:SQLSTATE[42000]:语法错误或访问冲突