gpt4 book ai didi

mysql - 是否有技巧允许 MySQL 在 UPDATE 语句的 SET 子句中使用尾随逗号 "ignore"?

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

在 C++ 中,我以编程方式生成一个 UPDATE 语句,这种方式使得删除尾随逗号变得困难:

UPDATE `myTable` SET 
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
WHERE `Field4` = "value";

是否有一些静态的、无操作的键/值对,我可以在最后的列值规范之后插入,这将使尾随逗号“okay”?或者我是否必须使我的 C++ 代码复杂化以避免完全编写它?

显然等同于以下无效方法的东西会很好。

UPDATE `myTable` SET 
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- 1 = 1
WHERE `Field4` = "value";

最佳答案

除非您愿意像 Igoel 建议的那样复制一个值(如果值很长,这可能不理想),简单的答案是

一个简单的令人鼓舞的可能性是使用 the alias NEW来表示传入的值,这样最终的值就可以被复制,而不必再次在查询中出现(我希望查询优化器可以将其删除):

UPDATE `myTable` SET 
`Field1` = "value",
`Field2` = "value",
`Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";

唉,这在 UPDATE 语句中不受支持,仅在触发器主体内。

在执行语句之前,您必须在 C++ 中进行操作,通过字符替换(, 用于 )或字符删除;前者可能会产生比您现在拥有的更复杂的代码,而后者可能效率低下(取决于您的查询构建代码的结构),但它仍然是您最好的选择。

关于mysql - 是否有技巧允许 MySQL 在 UPDATE 语句的 SET 子句中使用尾随逗号 "ignore"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20633403/

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