SQL Update查询帮助

时间:2011-09-06 06:32:24

标签: mysql sql sql-update

我有一个名为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;

4 个答案:

答案 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');