-1

我的以下 SQL 代码显示错误。出现在 phpMyAdmin 中的错误消息是

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'long = -6.52607, lat = 54.10046, reg = 'Rge info ere', info = 'general info here' 附近使用正确的语法

当我使用 phpmyadmin 直接插入它们但现在执行 sql 查询时,long 和 lat 工作正常。这两个字段设置为浮点数。无论是否使用单引号,我都已经厌倦了它们。

INSERT INTO events SET 
  name = 'Home Event', 
  url = 'home-event', 
  eventDate = '2013-06-29', 
  address1 = '18 Daly Park', 
  address2 = 'Silverbridge', 
  city = 'Newry', 
  county = 'Down', 
  postcode = 'BT35 9PJ', 
  long = -6.52607, 
  lat = 54.10046, 
  reg = 'Rge info ere', 
  info = 'general info here', 
  contact = 'contact me', 
  image = ''
4

3 回答 3

6

您正在使用 mysql 保留关键字long,您需要在查询中使用反引号对其进行转义,以使其了解它是column name

`long` = -6.52607,

在这里查看文档

作为关于我要补充一点的旁注mysql reserved keyword,您可以通过提供表别名然后alias.在它之前使用列名来避免转义它们。实际上INSERT查询不支持表别名,因此您不能在这种特定情况下使用。

于 2013-05-31T15:32:59.870 回答
5

如果您尝试 google 错误消息,LONG则它是 MySQL 中的保留关键字。

你有两个选择让它工作,

一、用反引号包裹列名,

`long` = -6.52607

或者二,更改列名,这样错误就不会再次返回。

您可以在此处找到所有关键字的列表:MySQL 保留关键字列表

于 2013-05-31T15:32:39.883 回答
3

long 是一个关键字,您应该练习使用 SQL 转义和引用您的文本

将 long 更改为 `long`

`long` = -6.52607, 
于 2013-05-31T15:33:15.013 回答