【问题标题】:Sql syntax error near WHEREWHERE附近的sql语法错误
【发布时间】:2013-12-13 17:02:02
【问题描述】:

我有这个查询来更新一行,但我得到一个“靠近 WHERE”的 sql 语法错误,但我或我的朋友都无法弄清楚问题所在。

rowstandard 是一个字符串,用于指定要选择的行。而 row 是一个数组,其中包含应该更新的更新值。

 query = "UPDATE  "+ tablename +" WHERE " + FirstColumn + " = '" + rowstandard + "' VALUES("+row+")";

【问题讨论】:

  • 您忘记了 SET 关键字 -- 您要更新的列。
  • 你正在混合UPDATEINSERT
  • 也相关:xkcd.com/327

标签: java sql sqlite sql-update


【解决方案1】:

看起来你最终会得到这样的结果:

UPDATE mytable WHERE cname = 'dsfsdf' VALUES('dfssdffs');

这是不对的。它需要是这样的:

UPDATE mytable SET cname = 'dfsafdsf' WHERE cname = 'foobar';

【讨论】:

  • 但在您的示例中,您只更改了一列,我需要我的动态更改所有列,因为不同的表具有不同数量的列。
【解决方案2】:

你的更新语句应该是这样的:

query = "UPDATE " + tablename + " SET " + columnname + " = '" + value + "' WHERE " + colmnname2 " = '" + value2 + "'";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    相关资源
    最近更新 更多