【发布时间】:2011-02-12 19:11:52
【问题描述】:
我有一个脚本,可以捕获推文并将它们放入数据库。我将在 cronjob 上运行脚本,然后在我的网站上显示来自数据库的推文,以防止达到 twitter API 的限制。
所以我不想在我的数据库中有重复的推文,我知道我可以使用 'INSERT...ON DUPLICATE KEY UPDATE' 来实现这一点,但我不太明白如何使用它。
我的数据库结构如下。
表 - 哈希 id (auto_increment) 鸣叫 用户 用户网址
目前我要插入的SQL如下:
$tweet = $clean_content[0];
$user_url = $clean_uri[0];
$user = $clean_name[0];
$query='INSERT INTO hash (tweet, user, user_url) VALUES ("'.$tweet.'", "'.$user.'", "'.$user_url.'")';
mysql_query($query);
如何正确使用“INSERT...ON DUPLICATE KEY UPDATE”仅在不存在时插入,如果存在则更新?
谢谢
【问题讨论】:
-
您需要在要插入的字段列表中添加一个“唯一字段”。如果
tweet、user和user_url是常规字段(即,它们不是unique),它将不起作用。