Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在何处附近发生Sql语法错误_Java_Sql_Sqlite_Sql Update - Fatal编程技术网

Java 在何处附近发生Sql语法错误

Java 在何处附近发生Sql语法错误,java,sql,sqlite,sql-update,Java,Sql,Sqlite,Sql Update,我有一个更新行的查询,但是我得到了一个sql语法错误,但是我和我的朋友都不能找出问题所在 rowstandard是一个字符串,指定要选择的行。而row是一个数组,其中包含应该更新的更新值 query = "UPDATE "+ tablename +" WHERE " + FirstColumn + " = '" + rowstandard + "' VALUES("+row+")"; 看起来你最终会得到这样的结果: UPDATE mytable WHERE cname = 'dsfsdf'

我有一个更新行的查询,但是我得到了一个sql语法错误,但是我和我的朋友都不能找出问题所在

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

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

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

UPDATE mytable WHERE cname = 'dsfsdf' VALUES('dfssdffs');
UPDATE mytable SET cname = 'dfsafdsf' WHERE cname = 'foobar';
query = "UPDATE " + tablename + " SET " + columnname + " = '" + value + "' WHERE " + colmnname2 " = '" + value2 + "'";
那是不对的。它必须是这样的:

UPDATE mytable WHERE cname = 'dsfsdf' VALUES('dfssdffs');
UPDATE mytable SET cname = 'dfsafdsf' WHERE cname = 'foobar';
query = "UPDATE " + tablename + " SET " + columnname + " = '" + value + "' WHERE " + colmnname2 " = '" + value2 + "'";

您的update语句应按如下方式执行:

UPDATE mytable WHERE cname = 'dsfsdf' VALUES('dfssdffs');
UPDATE mytable SET cname = 'dfsafdsf' WHERE cname = 'foobar';
query = "UPDATE " + tablename + " SET " + columnname + " = '" + value + "' WHERE " + colmnname2 " = '" + value2 + "'";

您忘记了SET关键字-要更新的列。您将update与INSERTAlso混用了:但是在您的示例中,您只更改了一列,我需要我的关键字来动态更改所有列,因为不同的表具有不同的列数。