>我有一个从1到6(包括1)的订购系统,订单号由用户选择分配给表featured
中的新闻。当用户保存新闻订单时,featured
表中插入一个新行,其中包含以下字段:id_news
、id_user
、id_category
和order
我正在寻找的是更好的语法来检查是否已经有关于订单Y
的客户端X
新闻。
现在,我正在一个单独的查询中执行每件事,并执行以下操作:
- 用户选择将新闻 1241 功能设置为订单号 3
- 脚本检查以查看订单号为 3 的客户端
X
是否存在任何新闻 - 如果存在,则将其删除
- 添加新的精选新闻。
无论如何,在更少的操作/代码中完成所有这些?
使用 ON DUPLICATE KEY UPDATE
.
假设(id_user,order)
是唯一键,那么您只需插入新值,如果订单已存在,则使用新id_news
更新它。
INSERT INTO `featured` VALUES (...) ON DUPLICATE KEY UPDATE `id_news`=VALUES(`id_news`)