gpt4 book ai didi

mysql - 在重复的键上仅更新一个字符串

转载 作者:行者123 更新时间:2023-11-29 12:52:39 27 4
gpt4 key购买 nike

我有以下库存系统代码。

$barc = mysqli_real_escape_string($con, $_POST['barc']);
$cant = mysqli_real_escape_string($con, $_POST['cant']);
$com = mysqli_real_escape_string($con, $_POST['com']);

$sql="INSERT INTO inventario (barc, cant, com)
VALUES ('$barc', '$cant', '$com')"
ON DUPLICATE KEY UPDATE barc=barc,cant=cant + $cant,com=com;

if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";

我试图让如果 BARC 存在,它会添加旧的“cant”+新的“cant”,但保留所有其他数据。

但我收到错误。我感谢所有帮助

最佳答案

您正在寻找的语法是:

INSERT INTO inventario (barc, cant, com)
VALUES ('$barc', '$cant', '$com')"
ON DUPLICATE KEY UPDATE cant = concat(coalesce(cant, ''), coalesce($cant, ''));

除了将整个 SQL 语句放在单个字符串中之外,MySQL 中的串联函数是 concat()。我添加了 coalesce() 来处理 NULL 值。未包含的列不会更改。

关于mysql - 在重复的键上仅更新一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500965/

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