0

次の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

よろしくお願いします。

4

2 に答える 2

4

テーブル名にそのようなバッククォートを使用します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/en/identifiers.html

識別子は数字で始めることができますが、引用符が数字だけで構成されていない場合を除きます。

The identifier quote character is the backtick (“`”):
于 2013-02-24T12:33:35.973 に答える
2

特にそのような型破りなテーブル名を使用する場合は、識別子の前後にバッククォートを使用します。

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')
于 2013-02-24T12:33:26.537 に答える