【java】sql中的update语句语法报错
Stringsql="UPDATE`menu`.`chifood`SET"+"id='"+menu.getName()+"',"+"price="+menu.getPri...
String sql = "UPDATE `menu`.`chifood` SET " +
"id = '" + menu.getName() + "'," +
"price = " + menu.getPrice() + "'," +
"amount = '" + menu.getAmount() + "'," +
"WHERE id = '" + menu.getId().trim() +"'";
(ps:menu是数据库名,chifood是表名)
运行时出错: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 '',amount = '6',WHERE id = '2'' at line 1
改成UPDATE chifood SET也不行 展开
"id = '" + menu.getName() + "'," +
"price = " + menu.getPrice() + "'," +
"amount = '" + menu.getAmount() + "'," +
"WHERE id = '" + menu.getId().trim() +"'";
(ps:menu是数据库名,chifood是表名)
运行时出错: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 '',amount = '6',WHERE id = '2'' at line 1
改成UPDATE chifood SET也不行 展开
3个回答
展开全部
数据库名是不需要添加的。
你的UPDATE语句编写错误,UPDATE语句只需要提供表名不需要用数据库名
正确的UPDATE语法: UPDATE 表名 SET 列名1=value,列名2=value WHERE 条件
ps: id 列作为条件,不可以放在SET 语句块后面作为更新内容
你的UPDATE语句编写错误,UPDATE语句只需要提供表名不需要用数据库名
正确的UPDATE语法: UPDATE 表名 SET 列名1=value,列名2=value WHERE 条件
ps: id 列作为条件,不可以放在SET 语句块后面作为更新内容
追问
现在改成这样还是报错:
String sql = "UPDATE chifood SET " +
"name = '" + menu.getName() + "'," +
"price = '" + menu.getPrice() + "'," +
"amount = '" + menu.getAmount() + "'," +
"WHERE id = '" + menu.getId().trim() +"'";
追答
额,拼加的方式比较复杂,同意出错,使用StringBuffer对象吧
String sql=new StringBuffer()
.append("UPDATE chifood SET name ='")
.append(menu.getName())
.append("' price='")
.append(menu.getPrice())
.append("' amount='")
.append(menu.getAmount())
.append("' WHERE id=")
.append(menu.getId().trim())
.toString();
--- 表中 id 列是自动标识列吧?如果是整型的话就不用加单引号,
若是字符串,则还需在最后一个变量外面加单引号
展开全部
第三行"price = ’" + menu.getPrice() + "'," +应该这么写吧,貌似少了一个‘
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"id = '" + menu.getName() + "',"你这里的是getName是String么?我觉得你最好用DEBUG模式把你的SQL打出来找, 一下就找到问题了
追问
我那段写错了,是name=menu.getName(),修改后还是报错是为什么。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询