历飞雨_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 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程