gpt4 book ai didi

php - 如果不存在则插入到表中并返回结果

转载 作者:行者123 更新时间:2023-11-29 04:26:07 24 4
gpt4 key购买 nike

我有一个像这样的“用户”SQL 表结构(ID 是出于某些原因随机生成的,它不是自动递增的):

ID    name     deleted    lastActive
3242 Joe 0 20-6-2012 23:14
2234 Dave 0 20-6-2012 23:13
2342 Simon 1 20-6-2012 23:02
9432 Joe 1 20-6-2012 22:58

在一个查询中(为了避免并发查询两次添加相同的名称),我需要向表中添加一个新用户,如果还没有具有该名称的记录并且已删除 = 0。然后我需要知道结果查询(如果添加了用户)以便我可以报告是否添加了用户。这可能使用 PHP 吗?

我可以这样做(当然是作为准备好的声明!):

INSERT INTO users (ID, name) VALUES ($id, $name) 
WHERE NOT EXISTS (SELECT 1 FROM users WHERE name = $name AND deleted = 0)

但是我怎么知道用户是否被添加了呢?

最佳答案

如果您使用的是 mysqli,则可以使用 mysqli_stmt_affected_rows()函数以确定插入了多少行。

同样,您可以使用 PDOStatement::rowCount()确定为 PDO 插入了多少行的方法。

这两个函数都会告诉您作为查询结果插入的行数。

关于php - 如果不存在则插入到表中并返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11129092/

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