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

处理负数时出现mysql语法错误,mysql,syntax,Mysql,Syntax,使用的MySQL语法 INSERT INTO friend_locations (user_id, lat, long) VALUES ('82441', '28.665899', '-81.359756') 返回了MySQL错误 您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第1行中使用接近“long”值(“82441”、“28.665899”、“81.359756”)的正确语法 我不明白 更新 这个网站上的语法颜色使得long脱颖而出,这一定是我的问题你需要改

使用的MySQL语法

INSERT INTO friend_locations 
(user_id, lat, long) 
VALUES 
('82441', '28.665899', '-81.359756') 
返回了MySQL错误 您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第1行中使用接近“long”值(“82441”、“28.665899”、“81.359756”)的正确语法

我不明白

更新

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

你需要改变

(user_id, lat, long)

因为long是一个保留字

我试着(但不总是记得)把我所有的字段名都用反勾号括起来,这样我就不用担心这类事情了。

您需要更改

(user_id, lat, long)

因为long是一个保留字


我尝试(但不总是记得)将我所有的字段名都用反勾号括起来,这样我就不必担心这类事情。

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

INSERT INTO foo (`varchar`, `long`, bar) VALUES('zing', 2212323.02, 'yo mama!');
请参阅有关标识符的MySQL文档:


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

INSERT INTO foo (`varchar`, `long`, bar) VALUES('zing', 2212323.02, 'yo mama!');
请参阅有关标识符的MySQL文档:


是的,还要检查它们是什么类型的字段,lat应该是浮点(10,6)而不是varcharYep,还要检查它们是什么类型的字段,lat应该是浮点(10,6)而不是varcharthanks我不知道这一点,我注意到phpmyadmin在进行查询时会这样做,我想我把倒勾与“没问题”混淆了。Frederico在他对你的问题的评论中也对字段类型提出了一个很好的观点。谢谢,我不知道这一点,我注意到phpmyadmin在进行查询时会这样做,我想我把backticks与一个常规的而不是“没问题”混淆了。弗雷德里科在他对你的问题的评论中也对字段类型提出了很好的观点。