PHP / MYSQL-插入忽略,并忽略指定的列

我需要只能够在数据不存在的情况下插入行,但日期列除外,因为日期列总是不同的,因此即使不应该插入数据,也总是会插入新行.

我的代码:

$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’.

上一篇:INSERT IGNORE 与INSERT INTO的区别


下一篇:apt-get ignore报错