JavaFX帖子点赞功能报错求助:MySQL语法错误问题排查
解决MySQL点赞功能的SQL语法错误问题
嘿,我一眼就瞅出问题所在啦!你遇到的这个MySQLSyntaxErrorException,核心原因特别简单——like是MySQL的保留关键字,直接把它当表名来用的话,MySQL会误以为你在写SQL的LIKE查询语法,自然就报错了。
看你报错信息里的关键提示:
Apr 06, 2018 10:30:08 AM Service.LikeService addlike SEVERE: null com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'like (blog,user) values (1,'aaa')' at line 1
这里的like就是问题根源,MySQL没法识别它是你的表名。
给你两个实用的解决办法:
- 办法一:给表名加反引号
修改你的SQL语句,把表名like用英文反引号(`)包裹起来,就像这样:
反引号会明确告诉MySQL这是一个标识符(表名/字段名),而不是SQL关键字。INSERT INTO `like` (blog, user) VALUES (1, 'aaa') - 办法二:修改表名(更推荐)
如果项目还处于早期阶段,直接把表名改成非关键字,比如likes(复数形式),这样后续写SQL的时候不用额外加反引号,代码更简洁,也能彻底避免类似的关键字冲突问题。
要是你用的是ORM框架(比如MyBatis、Hibernate),记得在对应的映射文件/注解里同步修改表名或者添加反引号哦~
内容的提问来源于stack exchange,提问作者user8069069
相关产品推荐
相关产品推荐

