mysql
  • sql
  • sql-update
  • 2011-09-06 167 views 0 likes 
    0

    我有一个表名为Subject_table ..我试图更新该表中的一个字段....但我不断收到语法错误....不知道我做错了。表中的所有字段的类型为VARCHAR(30)SQL更新查询帮助

    这是查询字符串看起来像

    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; 
    
    +2

    您确定'desc'不被识别为分类词吗?也许我错了... – Marco

    +1

    你能否发布确切的错误信息?它真的被称为“tittle”与2“t”? –

    +0

    你能告诉我们餐桌定义吗? – Marco

    回答

    3

    您确定desc未被识别为保留字吗?
    也许我错了......

    试试这个:

    UPDATE subject_table 
    SET tittle='Subject 1', `desc`='Subject 1', creditPoints='5' 
    WHERE cid='CSE11111'; 
    

    在你删除查询您使用带引号desc ...

    0

    应该是where cid='CSE11111',并desc也许你的数据库的保留关键字,试图通过`引用它。

    +0

    does not matter still gives me a syntax error ... – John

    0

    “递减” 是一个关键词。试着把它放在方括号中,如下所示:

    update subject_table set tittle='Subject 1' , [desc]='Subject 1', creditPoints='5' where cid=('CSE11111'); 
    
    +0

    MySQL的错误引号(但我们只是刚刚了解到这是一个MySQL问题),你'd想要反引用MySQL。 –

    0

    语法错误可能来自列名“desc”。

    尝试转义此列,以及从where子句中删除括号。

    update subject_table set tittle='Subject 1' , [desc]='Subject 1', creditPoints='5' where cid=('CSE11111'); 
    
    相关问题