我在 php 中有一个嵌套数组,并且只有在不存在重复项时才尝试将数据插入到 mysql 表中。副本应该只检查与 sensor_serial 和 dates 字段的匹配。我对 DUPLICATE 没有运气,因为无论其他字段如何,id 都是唯一的。这是表格布局:
CREATE TABLE IF NOT EXISTS `temps_test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sensor_serial` varchar(64) COLLATE latin1_general_ci DEFAULT NULL,
`temp_c` float DEFAULT NULL,
`dates` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `date` (`dates`)
)
这是我的非工作代码。我似乎无法完全正确。
foreach ($output as $k => &$v) {
$sql = "INSERT INTO temps_test (sensor_serial,temp_c,dates) VALUES ('$v[7]','$v[3]','$v[5]') WHERE NOT EXISTS (SELECT * FROM temps_test WHERE sensor_serial='$v[7]' AND dates='$v[5]')";
$go = mysql_query($sql) or die( mysql_error() );
}
可以这样做还是我的方法完全关闭?