PHP MySQL 检查现有语法


php mysql check existing syntax

>我有一个从1到6(包括1)的订购系统,订单号由用户选择分配给表featured中的新闻。当用户保存新闻订单时,featured表中插入一个新行,其中包含以下字段:id_newsid_userid_categoryorder

我正在寻找的是更好的语法来检查是否已经有关于订单Y的客户端X新闻。

现在,我正在一个单独的查询中执行每件事,并执行以下操作:

  1. 用户选择将新闻 1241 功能设置为订单号 3
  2. 脚本检查以查看订单号为 3 的客户端X是否存在任何新闻
  3. 如果存在,则将其删除
  4. 添加新的精选新闻。

无论如何,在更少的操作/代码中完成所有这些?

使用 ON DUPLICATE KEY UPDATE .

假设(id_user,order)是唯一键,那么您只需插入新值,如果订单已存在,则使用新id_news更新它。

INSERT INTO `featured` VALUES (...) ON DUPLICATE KEY UPDATE `id_news`=VALUES(`id_news`)