我有一个从1到6(包括两者)的订购系统,订单号由用户选择分配给表featured
中的新闻。当用户保存新闻订单时,会在表featured
中插入包含以下字段的新行:id_news
,id_user
,id_category
和order
我正在寻找的是更好的语法,以检查订单X
的客户Y
是否已有新闻。
现在我正在使用以下操作在单独的查询中执行每项操作:
X
的新闻无论如何在更少的动作/代码中做出所有这些?
答案 0 :(得分:1)
使用ON DUPLICATE KEY UPDATE
。
假设(id_user,order)
是唯一键,那么您只需插入新值,如果订单已存在,则使用新的id_news
更新它。
INSERT INTO `featured` VALUES (...) ON DUPLICATE KEY UPDATE `id_news`=VALUES(`id_news`)