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

Python,MySql ON 重复键语法错误

未捕获的 PDOException:SQLSTATE[42000]:语法错误或访问冲突

错误 1064 (42000) : 使用 %s 附近的 SQL 语法有错误

错误 1064:显示语法错误无法找到导致此错误的原因