我用谷歌搜索了这个问题,但没有找到任何东西。问题是这样的:我有这样的桌子
CREATE TABLE IF NOT EXISTS `Hourly` (
`gmt` bigint(20) NOT NULL,
`city` int(11) NOT NULL,
`temp` float NOT NULL,
`temp_min` float NOT NULL,
`temp_max` float NOT NULL,
`pressure` float NOT NULL,
`humidity` int(11) NOT NUL`enter code here`L,
`temp_kf` float NOT NULL,
`weather` int(11) NOT NULL,
`icon` varchar(20) NOT NULL,
`clouds` float NOT NULL,
`wind_speed` float NOT NULL,
`wind_deg` float NOT NULL,
`rain_3h` float NOT NULL,
`snow_3h` float NOT NULL,
`sys_pod` varchar(255) NOT NULL,
`received` bigint(20) NOT NULL,
PRIMARY KEY (`gmt`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
问题是我想在两者都不存在时插入新行,gmt
而不是其中之一。例如,我的表已经由city
INSERT INTO `Hourly` (`gmt`, `city`, ...) VALUES
(1373446800, 1, ...)
我想插入新行
INSERT INTO `Hourly` (`gmt`, `city`, ...) VALUES
(1373446800, 2, ...)
否则应该更新
所以,我希望,我描述了我的问题,一些“聪明人”会帮助我。