gpt4 book ai didi

php - Mysql插入,如果唯一键上有重复值,则插入不同的值

转载 作者:行者123 更新时间:2023-11-29 11:20:40 25 4
gpt4 key购买 nike

插入具有唯一字段的行时,是否可以将进入唯一字段的值更改为不同的值,以防重复?

情况:用户正在添加一篇新文章,文章名称不能重复。由于某种原因,用户键入了数据库中已存在的名称。

如果使用“ON DUPLICATE KEY UPDATE” - 先前的记录(与插入的名称相同)获取其他字段中的所有新数据(发生更新) - 不好。

需要的是,在插入时,如果该字段是唯一的,并且数据库中有匹配项,请将插入的值更改为“[DUPLICATE] name”之类的内容。

这将显示重复项的存在,用户只需更改名称(很可能是由于错误而插入重复项)。

最佳答案

你必须做类似的事情(使用 mysqli 准备好的语句)-

 SELECT name FROM table WHERE name=?

绑定(bind)变量(我假设$articleName)并存储结果,然后检查是否与mysqli_num_rows()匹配。

如果存在一行或多行,请重命名文章名称。

 $articleName=$articleName."[DUPLICATE]";

然后插入数据库。

注意:通常不会出现相同的文章名称,因为一个句子可以通过多种方式构建。考虑构建一个非常智能的程序来检测这一点,或者像在 SO 中那样手动检查。

关于php - Mysql插入,如果唯一键上有重复值,则插入不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980378/

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