gpt4 book ai didi

mysql - 如何为 INSERT IGNORE 获取 mysql_errno()

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

我有以下代码:

$link=mysql_connect("localhost", "user", "password") or die(mysql_error());
mysql_select_db(raddacen_staff,$link) or die(mysql_error());
$query=mysql_query("INSERT IGNORE INTO database...............") or die(mysql_error());

if(mysql_affected_rows()>0){
echo 'Data Inserted';
}
else{
echo 'error code '.mysql_errno($link);
}

当我尝试插入一 strip 有重复键的记录时,此代码显示错误代码为“0”。我想告诉用户,如果通过检测错误代码发现重复记录。这是因为很多原因导致 mysql_affected_rows() 不能 <0 或 0,所以我只需要指出重复键的具体错误代码。您知道如何使用 INSERT IGNORE 查询指出重复键的特定错误代码吗?

最佳答案

来自 the manual :

If you use the IGNORE keyword, errors that occur while executing the INSERT statement are treated as warnings instead. For example, without IGNORE, a row that duplicates an existing UNIQUE index or PRIMARY KEY value in the table causes a duplicate-key error and the statement is aborted. With IGNORE, the row still is not inserted, but no error is issued.

所以,如果你想要错误,你需要删除隐藏错误的关键字,即IGNORE

或者,您可以通过发出 SHOW WARNINGS 查询来阅读警告

关于mysql - 如何为 INSERT IGNORE 获取 mysql_errno(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15738816/

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