繁体   English   中英

这个MySQL查询有什么问题-资料库无法接受?

[英]What's wrong with this MySQL query — db won't accept?

我有以下MySQL查询:

INSERT INTO 12:12:12:12:12(timestamp,niceTime,temperature,relative_humidity,wind_speed,gust_speed,rain_mm_per_hour,nsew,str,ip) VALUES(1361707978,'2013-02-24T12:12:58+00:00',0.0,0,0.0,0.0,0.0,0,'1010101010101010','0')

该表的名称是“ 12:12:12:12:12”。

这是模式:

"CREATE TABLE IF NOT EXISTS `$mac` (
  `timestamp` int(11) NOT NULL,
  `niceTime` varchar(20) NOT NULL,
  `temperature` float NOT NULL,
  `relative_humidity` int(11) NOT NULL,
  `wind_speed` float NOT NULL,
  `gust_speed` float NOT NULL,
  `rain_mm_per_hour` float NOT NULL,
  `nsew` int(11) NOT NULL,
  `str` varchar(1000) NOT NULL,
  `ip` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;"

无论我做什么,我都无法使查询被接受;(

Query failed: 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 '12:12:12:12:12(timestamp,niceTime,temperature,relative_humidity,wind_speed,gust_' at line 1

提前谢谢了,

您将在表名中使用像这样的反引号12:12:12:12:12

尝试这个

   INSERT INTO `12:12:12:12:12`(timestamp,niceTime,temperature,relative_humidity,wind_speed,gust_speed,rain_mm_per_hour,nsew,str,ip) VALUES(1361707978,'2013-02-24T12:12:58+00:00',0.0,0,0.0,0.0,0.0,0,'1010101010101010','0'

编辑。

命名对象的规则,包括MySql中的表:

http://dev.mysql.com/doc/refman/5.1/zh-CN/identifiers.html

标识符可以以数字开头,但除非加引号,否则不能仅由数字组成。

The identifier quote character is the backtick (“`”):

在标识符周围使用反引号,尤其是在使用此类非常规表名称时:

INSERT INTO `12:12:12:12:12`(timestamp,niceTime,temperature,relative_humidity,wind_speed,gust_speed,rain_mm_per_hour,nsew,str,ip)
VALUES(1361707978,'2013-02-24T12:12:58+00:00',0.0,0,0.0,0.0,0.0,0,'1010101010101010','0')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM