【java】sql的update语句语法报错

2025-05-16 00:45:37
推荐回答(4个)
回答(1):

price 应该是数值,不需要加‘号,
price = " + menu.getPrice() + "'," (多了一个单引号)

amount = '" + menu.getAmount() + "'," + 也多了一个单引号

String sql = "UPDATE [menu].[chifood] SET " +
"id = '" + menu.getName() + "'," +
"price = " + menu.getPrice() + "," +
"amount = '" + menu.getAmount() + "'," +
"WHERE id = '" + menu.getId().trim() +"'";

回答(2):

我觉得应该是:
"UPDATE menu.chifood t SET " +
"t.name = '" + menu.getName() + "'," +
" t.price = " + menu.getPrice() + "', " +
" t.amount = '" + menu.getAmount() + "'," +
"WHERE t.id = '" + menu.getId().trim() +"'";

你的"id = '" + menu.getName() + "'," 这个东西id你是使用什么规则的?怎么会把get到的name插入到id上去?
表名上不需要引起来吧。

回答(3):

改为
String sql = "UPDATE menu.chifood SET " +
"id = '" + menu.getName() + "'," +
"price = "' + menu.getPrice() + "'," +
"amount = '" + menu.getAmount() + "' " +
"WHERE id = '" + menu.getId().trim() +"'";

回答(4):

确定各列的类型,如果是数值类型则不能加''