WHERE附近的Sql语法错误
问题描述:
我有这个查询来更新一个行,但即时得到一个SQL语法错误“靠近WHERE”,但我或我的朋友都不知道问题是什么。WHERE附近的Sql语法错误
rowstandard是一个字符串,指定要选择哪一行。而row是一个数组,其更新的值应该是UPDATED。
query = "UPDATE "+ tablename +" WHERE " + FirstColumn + " = '" + rowstandard + "' VALUES("+row+")";
答
看起来你有这样的事情结束了:
UPDATE mytable WHERE cname = 'dsfsdf' VALUES('dfssdffs');
这是不对的。它必须是这样的:
UPDATE mytable SET cname = 'dfsafdsf' WHERE cname = 'foobar';
+0
但在你的例子中你只改变一列,我需要我的动态改变所有的列,因为不同的表有差异列的数量。 – Looptech
答
你的更新语句应该这样做:
query = "UPDATE " + tablename + " SET " + columnname + " = '" + value + "' WHERE " + colmnname2 " = '" + value2 + "'";
+0
如果你有一个动态数据库,这是否工作? – Looptech
你忘了'SET'关键字 - 要更新的列。 –
您正在'UPDATE'与'INSERT' – Habib
也相关:http://xkcd.com/327/ – zapl