gpt4 book ai didi

php - INSERT IGNORE INTO - 但原因是哪一列?

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

'INSERT IGNORE INTO',如何获取导致忽略的列(设置为'unique'/'primary'的列)?

使用示例,我将用户插入到表中,如果用户名或电子邮件已插入,它不会插入 - 我想知道是否已经插入了电子邮件或用户名(或两者),以便我可以打印通过 javascript 在屏幕上显示错误消息。

当然,您可能会建议我事先使用 SELECT。但是,通过这样做我必须运行 2 个额外的查询 - 我试图使脚本尽可能干净/快速。

我知道 mysql_affected_rows() 可以告诉我它是否已插入,但它不会返回证明它不会这样做的列。

我假设我可以使用 mysql_error 之类的东西?我不确定,因为 mysql_error 仅在出现错误时显示 - 因为我使用“忽略”,所以它不会缓冲错误。


如果我解析 mysql_error 或其他什么,@mysql_query('INSERT INTO ...') 会工作吗?

最佳答案

查询后,您可以执行SHOW WARNINGS 来查看有关重复键的信息。

您可以在这个问题的答案中找到处理 MySQL 警告的 PHP 代码示例:Can I detect and handle MySQL Warnings with PHP?

关于php - INSERT IGNORE INTO - 但原因是哪一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236813/

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