我有一个从 1 到 6(含)的订购系统,订单号由用户选择分配给表featured
中的新闻。当用户保存新闻订单时,featured
表中会插入一个新行,其中包含以下字段:id_news
、id_user
、id_category
和 order
我正在寻找一种更好的语法来检查是否已经有订单 Y
的客户端 X
的新闻。
现在,我正在单独的查询中执行以下操作:
- 用户选择将新闻 1241 添加到订单号 3
- 脚本检查是否存在订单号为 3 的客户端
X
的任何新闻 - 如果存在,则会将其删除
- 添加新的精选新闻。
有没有办法用更少的操作/代码来完成所有这些?
最佳答案
使用重复 key 更新
。
假设 (id_user,order)
是唯一键,那么您只需插入新值,如果订单已存在,则使用新的 id_news
更新它.
INSERT INTO `featured` VALUES (...) ON DUPLICATE KEY UPDATE `id_news`=VALUES(`id_news`)
关于php mysql 检查现有语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10900680/