2012-02-16 235 views
-3

我有這個錯誤,但我無法找出錯誤。SQL查詢 - 錯誤

INSERT INTO utilizadores (username, password, email, pais, cidade, data_registo, tipo_conta, estado_conta, creditos) 
values (admin, 6910b64010c9660ad77d9bb7adb43e75, [email protected], just4, test, now(), '1', '2', '5') 

它說:您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在第1行的'@ xd.vbudfg,ugwfghuifweui,ugwefg,now(),'1','2','5')'附近使用正確的語法。

+6

你必須用單引號括字符串值。您不必將單數引號括起來。你做的恰恰相反。 – bfavaretto 2012-02-16 18:26:44

+2

@bfavaretto:這應該是一個答案,而不是評論。 – 2012-02-16 18:28:13

+0

@JimGarrison,好吧,讓它成爲答案。我應該刪除評論嗎? – bfavaretto 2012-02-16 18:32:13

回答

5

您在多個字符串中缺少引號。例如,電子郵件[email protected]應該是'[email protected]'

您的查詢應爲:

INSERT INTO utilizadores (username, password, email, pais, cidade, data_registo, tipo_conta, estado_conta, creditos) values ('admin', '6910b64010c9660ad77d9bb7adb43e75', '[email protected]', 'just4', 'test', now(), '1', '2', '5') 

注意,如果最後三個值有一個數字數據類型,你就不需要引號

10

報價值爲

INSERT INTO utilizadores (username, password, email, pais, cidade, data_registo, tipo_conta, estado_conta, creditos) values ('admin', '6910b64010c9660ad77d9bb7adb43e75', '[email protected]', 'just4', 'test', now(), '1', '2', '5') 
0
INSERT INTO utilizadores 
    (
     username, password, email, pais, 
     cidade, data_registo, tipo_conta, 
     estado_conta, creditos 
    ) 
values 
    (
     'admin', '6910b64010c9660ad77d9bb7adb43e75', '[email protected]', 'just4', 
     'test', now(), '1', 
     '2', '5' 
    ); 

你不能忽視的varchar數據類型單一quote(')。 。 。

4

您必須將字符串值括在單引號中。您不必將單數引號括起來。你做的恰恰相反。

所以,您的查詢應該是(假設tipo_contaestado_contacreditosINT列):

INSERT INTO utilizadores (username, password, email, pais, cidade, data_registo, tipo_conta, estado_conta, creditos) 
VALUES ('admin', '6910b64010c9660ad77d9bb7adb43e75', '[email protected]', 'just4', 'test', now(), 1, 2, 5)