处理负数时出现mysql语法错误

时间:2009-07-24 20:06:04

标签: mysql syntax

使用的MySQL语法

INSERT INTO friend_locations 
(user_id, lat, long) 
VALUES 
('82441', '28.665899', '-81.359756') 

返回MySQL错误 您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行使用“long”VALUES('82441','28 .665899',' - 81.359756')附近的正确语法

我不明白这个

更新

此网站上的语法着色使 long 脱颖而出,这一定是我的问题

2 个答案:

答案 0 :(得分:6)

您需要更改

(user_id, lat, long)

(user_id, lat, `long`)

因为 long 这个词是保留字。

我尝试(但不要总是记住)只是将所有的字段名称包装在反引号中,这样我就不用担心那种事了。

答案 1 :(得分:1)

如果你用反引号引用你的字段名称,它可以确保MySQL不会将它们与关键字混淆:

INSERT INTO foo (`varchar`, `long`, bar) VALUES('zing', 2212323.02, 'yo mama!');

请参阅有关标识符的MySQL文档:

http://dev.mysql.com/doc/refman/5.0/en/identifiers.html