2012-02-16 160 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)