我有一个名为Subject_table的表..我正在尝试更新该表中的字段....但我一直收到语法错误....不确定我做错了。表中的所有字段都是VARCHAR(30)
类型这就是queryString的样子
queryString2 = "update "+tablename+" set tittle='"+tittle+"' , desc='"+desc+"', creditPoints='"+creditPoints+"' where cid='"+cid+"'";
实际查询
UPDATE subject_table
SET tittle='Subject 1', desc='Subject 1', creditPoints='5'
WHERE cid='CSE11111';
我也有删除查询,工作正常......
非常感谢帮助.. !!! 表
DROP TABLE IF EXISTS `dummy`.`subject_table`;
CREATE TABLE `dummy`.`subject_table` (
`cid` varchar(15) NOT NULL DEFAULT '',
`tittle` varchar(45) NOT NULL DEFAULT '',
`desc` varchar(550) NOT NULL DEFAULT '',
`creditPoints` varchar(45) NOT NULL DEFAULT '',
PRIMARY KEY (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
答案 0 :(得分:3)
您确定desc
未被识别为保留字吗?
也许我错了......
试试这个:
UPDATE subject_table
SET tittle='Subject 1', `desc`='Subject 1', creditPoints='5'
WHERE cid='CSE11111';
在删除查询中,您使用了引用desc
...
答案 1 :(得分:0)
应该是where cid='CSE11111'
,而desc
可能是数据库的保留关键字,请尝试通过`引用它。
答案 2 :(得分:0)
“desc”是关键字。试着把它放在这样的方括号内:
update subject_table set tittle='Subject 1' , [desc]='Subject 1', creditPoints='5' where cid=('CSE11111');
答案 3 :(得分:0)
语法错误可能来自列名“desc”。
尝试转义此列,并从where子句中删除括号。
update subject_table set tittle='Subject 1' , [desc]='Subject 1', creditPoints='5' where cid=('CSE11111');