gpt4 book ai didi

mysql - 插入记录和忽略的 SQL 语法存在索引而不是主键

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:44 24 4
gpt4 key购买 nike

我有一个结构表:id(INT, PK), entryid(INT), date(INT), region(CHAR), location(ENUM), views(INT)。除 id 之外的所有字段都是非唯一的。

如何插入一条记录,如果有相同的entryid,date,region,location,则忽略,否则插入到表中?

顺便说一句,我正在使用 mysql。

最佳答案

是的,在 mysql 中有一个特殊版本的插入语句:

INSERT INTO table
VALUES (...)
ON DUPLICATE KEY UPDATE entryid = ?, etc -- this modifier will do the trick

咨询the mysql manual entry for this syntax完整的解释

编辑:

此行为适用于相同的主键。为了让它在多列上工作,您需要一个多列主键,您可以像这样为您的表定义它:

create table mytable (
entryid int,
date int,
region char,
location enum ('a', 'b', 'c'),
views int,
primary key (entryid, date, region, location) -- list your key field like this
);

关于mysql - 插入记录和忽略的 SQL 语法存在索引而不是主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8794784/

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