gpt4 book ai didi

php - 在 sprintf 中使用 IF ROW_COUNT() ?

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

大家好,我正在尝试在 sprintf 函数中使用 IF 行计数函数编写一条 mysql 语句,但没有成功。

编辑:该语句基本上用于导入 Excel 电子表格,然后处理数据。它根据非主键的字段检查重复项,因此需要进行检查

基于此处发布的非主键重复更新插入方法 - MySQL insert on duplicate update for non-PRIMARY key

    $sql = sprintf("UPDATE tbl_jobs SET a=% WHERE b=%s 
IF ROW_COUNT()=0
INSERT INTO tbl_jobs (...) VALUES (...) "),
$varA, $varB");

我相信当 sprintf 语句中嵌套了一个函数时就会出现问题

在这种情况下我该如何转义函数的括号?或者这个说法一开始就是错误的?

如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

您的语法无效。

大概您想要插入。 。 。重复 key 更新:

INSERT INTO tbl_jobs (a, b, ...)
VALUES (...)
ON DUPLICATE KEY UPDATE a = VALUES(a), b = VALUES(b);

为此,您需要正确设置唯一索引/主键(用于识别重复项)。

您可以将唯一键定义为:

create unique index unq_jobs_a_b on tbl_jobs(a, b);

然后第一条语句将根据需要执行插入/更新

关于php - 在 sprintf 中使用 IF ROW_COUNT() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48454807/

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