2013-06-22 203 views
-1

我在嘗試提交此查詢時收到"Syntax error in INSERT INTO statement"插入語句中的語法錯誤但插入語句正常

INSERT INTO 
    Modified (ModifiedID, Username, Table, RecordID) 
VALUES 
    ('12','null','Accident','1') 

所有數據類型在數據庫中都匹配。如果我在沒有插入「表」的情況下運行查詢,它就可以工作。我不知道爲什麼,當我將表字符串值添加到查詢時,我收到錯誤。

回答

3

試試這個

INSERT INTO Modified (ModifiedID, Username, [Table], RecordID) 
    VALUES ('12','null','Accident','1') 

在大多數SQL方言,TABLE是一個保留字。在[]是微軟的分隔符,我相信反引號`在MySQL中使用

另外,你真的想「空」,而不是NULL,他們有不同的含義

+1

+1。所有的點,和'null'(一個字符串)與'NULL'(一個非值)的很好的接觸。 –

+0

啊保留字。謝謝 – user2444472

+0

還要感謝關於「null」和「NULL」的注意事項 – user2444472

-1

在MySQL:

INSERT INTO Modified (ModifiedID, Username, `Table`, RecordID) 
VALUES ('12', NULL, 'Accident', '1') 
0

在HSQLDB:

INSERT INTO Modified (ModifiedID, Username, "Table", RecordID) 
VALUES (12, NULL, 'Accident', 1); 

我只是會認爲「關鍵十歲上下的」冠冕堂皇的領域,例如。 ModifiedID和RecordID,應該是INTEGER或BIGINT,而不是VARCHAR。 DDL會很好。