1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server

插入语句: insert into visitorinfo (VisitorName, Password, Character, Description, VisitorID) values ('sesaint', '123', 'Manager', '1', '10002');

数据库字段:
VisitorID varchar 30 不允许空 主键
VisitorName varchar 30 不允许空
Password varchar 255 不允许空
Character varchar 255 不允许空
Description varchar 255 不允许空
出现异常:1064 - 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 'Character, Description) values ('10002', 'sesaint', '123', 'Manager', '1')' at line 1

实在看不出来到底哪里语句出错,或许看代码太久,看不出细微的地方,麻烦各位查找一下,哪里有异常和问题.谢谢了.

你主要看下你定义的字段属性
看看是不是有自增的或者少一字段没有赋值,
还有可能是符号除了问题,
希望你能改对,加油哦,哈哈
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-23
Character是mysql的关键字。

改成:
insert into visitorinfo (VisitorName, Password, `Character`, Description, VisitorID) values ('sesaint', '123', 'Manager', '1', '10002');

把Character用反引号引起来。本回答被网友采纳
第2个回答  2012-08-23
可能有这么几个原因,逐一排查一下
1.表中的字符不止三个,那么肯定对应不上,就会报错
2.ID没有设置自增,所以DEFAULT不可用
3.字段类型和长度有问题追问

字段类型和长度我都计算过没有出错的可能.ID没有设置自增,但是设置成VARCHAR的,是方便我插入自己生成的主键.倒是第一个原因没听懂你的意思,麻烦你好好说一下.而且默认情况下的insert into visitorinfo values(?,?,?,?,?) 就能插入进去.实在搞不懂.

追答

可能你把密码设置了明文吧

相似回答