MysQL SELECT语句如果为空

时间:2017-05-19 09:49:48

标签: php mysql mysqli

我正在努力解决一些我认为应该很容易解决的问题。

我首先检查数据库以查看它是否存在。我希望它插入日期,如果它不存在但我不知道如何构建IF语句部分。非常感谢

$date='2017-05-13';
$select_date = mysqli_query($link, "SELECT * from `marker` WHERE `date`='$date' ");

$insert_date = mysqli_query($link, "INSERT INTO `marker` (`date`,`value`) VALUES ('$date','1') ");

1 个答案:

答案 0 :(得分:1)

通常,对于此类操作,您希望使用on duplicate key update。这从一个唯一索引开始:

CREATE UNIQUE INDEX unq_marker_date ON marker(date);

然后数据库保证每个日期只有一行。然后,您可以将插入执行:

INSERT INTO `marker` (`date`, `value`)
    VALUES ('$date', '1')
    ON DUPLICATE KEY UPDATE `date` = VALUES(`date`);

ON DUPLICATE KEY部分除了防止重复日期出错外,什么都不做。