我需要只能够在数据不存在的情况下插入行,但日期列除外,因为日期列总是不同的,因此即使不应该插入数据,也总是会插入新行.
我的代码:
$postID = $_POST['postID']; //example, 817
$userID = logged_in(); //example, 2
$date = time();
mysql_query("INSERT IGNORE INTO likes SET userID='$userID', postID='$postID', date='$date'");
我希望能够执行以下操作:
mysql_query("INSERT IGNORE date INTO likes SET userID='$userID', postID='$postID', date='$date'");
解决方法:
如果您对userID和postID拥有UNIQUE约束,则可以执行当前操作,如果已经有记录,则date列将不会更新.
如果您希望在记录确实存在时(针对该特定用户和帖子)更新日期列,则可以使用ON DUPLICATE KEY UPDATE date =’$date’.