首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不存在,则从INSERT获得MySQL结果。

问如果不存在,则从INSERT获得MySQL结果。
EN

Stack Overflow用户
提问于 2022-01-14 16:38:38
回答 1查看 226关注 0票数 1

如果记录不存在,我知道如何插入。但如果确实存在,mysql不会将其视为错误。它只是将其视为插入的0行。我想知道是否是这样,并向用户返回他们提交的数据已经存在的消息。

我知道,如果在尝试插入新数据之前先查询mysql,我就可以做到这一点。但是,是否有一种方法对插入进行处理并获得结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-14 16:58:53

您可以使用关于重复密钥更新,在这种情况下,如果将行插入为新行,则行应该返回1;如果更新现有行,则返回2;如果将现有行设置为其当前值(来源),则返回0。因此,您的代码应该如下所示:

代码语言:javascript
复制
if ($mysqli->affected_rows == 1) {
                    
    $inserted = true;
}

if ($mysqli->affected_rows == 2) {
        
    $updated = true;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70713786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档