gpt4 book ai didi

mysql - 插入 - 在重复键上

转载 作者:可可西里 更新时间:2023-11-01 08:31:00 24 4
gpt4 key购买 nike

我在循环中得到了这个查询:

while ($row = mysql_fetch_array($query)) {
INSERT INTO restaurant_views (date, restaurant_id, views) VALUES ('{$current_date}', '{$row['id']}', 1) ON DUPLICATE KEY UPDATE views=views+1
}

这段代码应该做的是更新表 restaurant_views 中的列 views
问题是它不检查 date 和 restaurant_id 是否重复,它只检查数据库中的主列是否重复。

这是表格的截图: enter image description here

如您所见,daterestaurant_id 都是唯一的,但是这段代码给我的是:

enter image description here

查询循环了 7 次,如您在 View 中所见。这是错误的。
我想要的是 7 个不同的行,每行有 1 个 View 。

最佳答案

如果您想要餐厅 ID/日期的唯一性,那么您需要在这些列上有一个唯一的索引/约束:

create unique index idx_restaurant_views_2 on restaurant_views(restaurant_id, date)

那么您的代码应该可以工作了。

关于mysql - 插入 - 在重复键上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27434536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com