mysql
  • sql
  • sql-update
  • 2011-09-06 146 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'); 
    
    相關問題