MySql无缘无故地插入错误

时间:2013-01-15 13:59:15

标签: mysql sql

我有下表:

CREATE TABLE IF NOT EXISTS `towers_raw_data` (
`DoveID` varchar(10) NOT NULL DEFAULT '',
`NG` varchar(8) DEFAULT NULL,
`SNLat` varchar(8) DEFAULT NULL,
`SNLong` varchar(9) DEFAULT NULL,
`Postcode` varchar(8) DEFAULT NULL,
`TowerBase` int(4) DEFAULT NULL,
`County` varchar(10) DEFAULT NULL,
`Country` varchar(12) DEFAULT NULL,
`ISO3166code` varchar(2) DEFAULT NULL,
`Diocese` varchar(14) DEFAULT NULL,
`Place` varchar(29) DEFAULT NULL,
`Place2` varchar(30) DEFAULT NULL,
`PlaceCL` varchar(30) DEFAULT NULL,
`Dedicn` varchar(54) DEFAULT NULL,
`Bells` int(2) DEFAULT NULL,
`Wt` int(4) DEFAULT NULL,
`App` varchar(3) DEFAULT NULL,
`Note` varchar(2) DEFAULT NULL,
`Hz` varchar(5) DEFAULT NULL,
`Details` varchar(1) DEFAULT NULL,
`GF` varchar(2) DEFAULT NULL,
`Toilet` varchar(1) DEFAULT NULL,
`UR` varchar(3) DEFAULT NULL,
`PDNo` varchar(1) DEFAULT NULL,
`PracN` varchar(3) DEFAULT NULL,
`PSt` varchar(5) DEFAULT NULL,
`PrXF` varchar(22) DEFAULT NULL,
`OvhaulYr` varchar(4) DEFAULT NULL,
`Contractor` varchar(28) DEFAULT NULL,
`TuneYr` varchar(4) DEFAULT NULL,
`ExtraInfo` varchar(163) DEFAULT NULL,
`WebPage` varchar(70) DEFAULT NULL,
`Updated` varchar(1) DEFAULT NULL,
`Affiliations` varchar(14) DEFAULT NULL,
`AltName` varchar(39) DEFAULT NULL,
`Simulator` varchar(1) DEFAULT NULL,
`Lat` varchar(8) DEFAULT NULL,
`Long` varchar(9) DEFAULT NULL,
PRIMARY KEY (`DoveID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

我正在尝试运行以下查询:

INSERT INTO `towers_raw_data` (`Affiliations`, `AltName`, `App`, `Bells`, `Contractor`, `Country`, `County`, `Dedicn`, `Details`, `Diocese`, `DoveID`, `ExtraInfo`, `GF`, `Hz`, `ISO3166code`, `Lat`, `Long `, `NG`, `Note`, `OvhaulYr`, `PDNo`, `PSt`, `Place`, `Place2`, `PlaceCL`, `Postcode`, `PrXF`, `PracN`, `SNLat`, `SNLong`, `Simulator`, `Toilet`, `TowerBase`, `TuneYr`, `UR`, `Updated`, `WebPage`, `Wt`) VALUES
 ('','','','3','','','Leics','S James','C','Leicester','AB KETTLEB','Ringing prohibited; tuning: 1-3 of 4','','879.0','GB','52.79858','-0.92747\r\n','SK724229','A','','','','Ab Kettleby','','','LE14 3HS','','','','','','','6918','','','','','652')

出于某种原因,我收到以下错误:

  #1054 - Unknown column 'Long ' in 'field list'

当我在桌子上清楚地看到一个名为Long的字段时,任何人都知道为什么会发生这种情况

4 个答案:

答案 0 :(得分:4)

错误是由于某种原因而产生的。

列名long中有一个额外的空格,

`long ` is not equal to `long`

所以你应该删除多余的尾随空格。

答案 1 :(得分:2)

你有一个名为“长”而非“长”的字段

注意尾随空格

使用

INSERT INTO `towers_raw_data` (`Affiliations`, `AltName`, `App`, `Bells`, `Contractor`, `Country`, `County`, `Dedicn`, `Details`, `Diocese`, `DoveID`, `ExtraInfo`, `GF`, `Hz`, `ISO3166code`, `Lat`, `Long`, `NG`, `Note`, `OvhaulYr`, `PDNo`, `PSt`, `Place`, `Place2`, `PlaceCL`, `Postcode`, `PrXF`, `PracN`, `SNLat`, `SNLong`, `Simulator`, `Toilet`, `TowerBase`, `TuneYr`, `UR`, `Updated`, `WebPage`, `Wt`) VALUES
 ('','','','3','','','Leics','S James','C','Leicester','AB KETTLEB','Ringing prohibited; tuning: 1-3 of 4','','879.0','GB','52.79858','-0.92747\r\n','SK724229','A','','','','Ab Kettleby','','','LE14 3HS','','','','','','','6918','','','','','652')

代替

答案 2 :(得分:0)

您的INSERT是指Long而非Long 最后有一个空间。

答案 3 :(得分:0)

long是mysql中的关键字,您可能会遇到该列名称的问题。

How to rename a MySQL column from long to something else

查看更多信息