快速的mysql查询问题

时间:2010-04-26 12:08:51

标签: mysql

抱歉,我不想问这样的实例具体问题,但这让我很开心!

我必须找到一些显而易见的东西:

表:

|ven_name|varchar(150)|No|
|ven_sd|varchar(90)|Yes|NULL
|ven_details|varchar(3000)|Yes|NULL
|ven_tel|varchar(30)|Yes|NULL
|ven_email|varchar(50)|Yes|NULL
|ven_address|varchar(300)|Yes|NULL
|lat|decimal(9,6)|Yes|NULL
|long|decimal(9,6)|Yes|NULL
|pub|tinyint(4)|Yes|NULL
|bar|tinyint(4)|Yes|NULL
|club|tinyint(4)|Yes|NULL
|img_added|tinyint(4)|Yes|NULL

查询:

INSERT INTO ven
            (img_added,
             ven_name,
             ven_sd,
             ven_tel,
             ven_email,
             ven_address,
             lat,
             long,
             pub,
             ven_details)
VALUES     (1,
            'aaa',
            'aaa',
            'aaa',
            'aaa',
            'aaa',
            100,
            156,
            1,
            'aaa') 

错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'long, pub, ven_details) VALUES(1, 'aaa', 'aaa', '0117 9246449', 'aaa', 'aaa', 10' at line 1

3 个答案:

答案 0 :(得分:4)

'long'是MySQL中的保留字。使用反引号逃脱它:

http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html

答案 1 :(得分:0)

这是long,它是mySQL中的保留字。有趣的是,语法突出显示似乎抓住了它:)

重命名列或使用反引号:

`lat`,
`long`,
`pub`,

参考:mySQL reserved words

答案 2 :(得分:0)

LONG is a reserved mysql word.

为LNG更改它,或者您可以这样做:

INSERT INTO ven
            (img_added,
             ven_name,
             ven_sd,
             ven_tel,
             ven_email,
             ven_address,
             lat,
             `long`,
             pub,
             ven_details)
VALUES     (1,
            'aaa',
            'aaa',
            'aaa',
            'aaa',
            'aaa',
            100,
            156,
            1,
            'aaa')