gpt4 book ai didi

mysql - 为什么 CONCAT 第一次没有向 mySQL 表中插入文本?

转载 作者:行者123 更新时间:2023-12-01 00:08:41 24 4
gpt4 key购买 nike

我正在使用 UPDATE 将简单文本插入字段为 MEDIUMTEXT(可为空字段)的表中。奇怪的是,当该字段最初为 null 时它不起作用。如果我手动输入至少一个字符/空格,那么它就可以工作。

我想将新文本附加到字段中的现有文本中。

UPDATE pen SET  
PEN_STATUS = @PenStat,
PEN_STATUS_CHANGE_REASON = CONCAT(PEN_STATUS_CHANGE_REASON,'\n',ChangeDate,':',EmployeeID,':',ChangeReason)
WHERE PEN_ID = PenID;

这是为什么?

最佳答案

CONCAT 不处理 NULL 值。如 the MySQL manual 中所述:

CONCAT() returns NULL if any argument is NULL.

您想使用 COALESCE 来处理该用例,例如:

UPDATE pen SET  
PEN_STATUS = @PenStat,
PEN_STATUS_CHANGE_REASON = CONCAT(
COALESCE(PEN_STATUS_CHANGE_REASON, ''),
'\n',
ChangeDate,
':',
EmployeeID,
':',
ChangeReason
)
WHERE PEN_ID = PenID;

关于mysql - 为什么 CONCAT 第一次没有向 mySQL 表中插入文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53997819/

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