php mysql检查现有语法

时间:2012-06-05 15:58:55

标签: php mysql syntax

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

我正在寻找的是更好的语法,以检查订单X的客户Y是否已有新闻。

现在我正在使用以下操作在单独的查询中执行每项操作:

  1. 用户选择将新闻1241刊登到第3号订单
  2. 脚本检查是否存在订单号为3的客户X的新闻
  3. 如果存在,则将其删除
  4. 添加新的精选新闻。
  5. 无论如何在更少的动作/代码中做出所有这些?

1 个答案:

答案 0 :(得分:1)

使用ON DUPLICATE KEY UPDATE

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

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