历飞雨_smile 2021-12-31 03:33 采纳率: 75%
浏览 133
已结题

希望能帮我解决Java的一个MySQL语句问题

问题遇到的现象和发生背景

mysql 语句 执行的时候报错了

问题相关代码,请勿粘贴截图
String sql = "insert into topic(c_id,title,content,pv,user_id,username,user_img,create_time,update_time,hot,`delete`) "
                +"values(?,?,?,?,?,?,?,?,?,?,?)";

相关代码:

img

img

img

运行结果及报错内容
java.sql.SQLException: 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 ''delete') values(2,'test','javaweb',1,3,'tom','https://xd-video-pc-img.oss-cn-be' at line 1 Query: insert into topic (c_id,title,content,pv,user_id,username,user_img,create_time,update_time,hot,'delete') values(?,?,?,?,?,?,?,?,?,?,?) Parameters: [2, test, javaweb, 1, 3, tom, https://xd-video-pc-img.oss-cn-beijing.aliyuncs.com/xdclass_pro/default/head_img/12.jpeg, 2021-12-31T03:18:35.363, 2021-12-31T03:18:35.363, 0, 0]
我的解答思路和尝试过的方法
我想要达到的结果

能插入数据库便可

  • 写回答

5条回答 默认 最新

  • 神仙别闹 2021-12-31 08:31
    关注

    是SQL语句错误,导致的异常
    1、如果列名是关键字,需要用中括号包起来,例如[delete]
    2、如果列的类型是字符串的话,它的值需要加单引号,例如title的值 value 应该是 '?'
    3、如果列的类型是时间的话,可以用MYSQL自带的函数now()来获取当前时间
    4、如果列的类型是INT类型的话,只能填写数字,例如c_id,pv,user_id等
    所以你的SQL语句应该调整为:

    insert into topic(c_id,title,content,pv,user_id,username,user_img,create_time,update_time,hot,[delete])  values (0,'','',0,0,'','',now(),now(),'','')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 创建了问题 12月31日

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥50 invest生境质量模块