【发布时间】:2012-08-15 03:41:29
【问题描述】:
我正在尝试将数据插入两个表(table1 和 table2),条件是输入到 table1 的数据的唯一性。 Table1 在流行 & 电子邮件 & 社区上有一个独特的键集。这个想法是,如果同一个人在附近提交相同的流行音乐,那么任何一张桌子都不会发生任何事情。如果其他人进入相同的人口和社区,那么它会在 table1 中输入数据并将 table2 中的投票数增加 1。我听说有些人在谈论“忽略重复键”,我认为如果按以下方式实现它会起作用,但我是实际上不确定该命令是否真实:
mysql_query("INSERT INTO `table1` VALUES ('$pop','$first', '$last', '$email',
'$neighborhood') on duplicate key ignore (INSERT INTO `table2`
VALUES ('$pop', '$neighborhood','$votes', '$city') ON DUPLICATE KEY UPDATE
`votes` = `votes` +1)");
我有以下代码工作,但了解它将数据输入到 table2 与 table1 中的唯一数据无关。
mysql_query("INSERT INTO `table1` VALUtS ('$pop','$first', '$last', '$email', '$neighborhood')");
mysql_query("INSERT INTO `table2` VALUES ('$pop', '$neighborhood', '$votes', '$city') ON DUPLICATE KEY UPDATE `votes` = `votes` +1");
如果您有任何问题,请告诉我。
【问题讨论】:
-
请停止使用已弃用的
mysql_函数。它们很旧,不再维护。请切换到mysqli(mysqli_/mysqli::) 或PDO(PDO::) -
很有趣,我不知道,将看看mysqli和pdo。谢谢!
标签: mysql insert duplicates