gpt4 book ai didi

使用 where 子句进行 mySQL 更新会引发主键错误

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

我已经在互联网、文档和 stackoverflow 上进行了大量搜索,但没有结果。我正在使用 MySQL Workbench 尝试在特定列的末尾连接一些附加值。
我原来的代码是:

update mySchema.myTable
set myColumn = CONCAT( myColumn ,
', "a108": "Additional Data.",
"a109": "More Additional Data. "'
)
where primaryKeyColumn =
(
select primaryKeyColumn
from mySchema.myTable
where column3 = "testdata" AND column4 = aNumber
);

但是,这引发了错误“错误代码:1093。您无法在 FROM 子句中指定用于更新的目标表“翻译””。我在 stackoverflow 上搜索并将代码更改为:

update mySchema.myTable
set myColumn = CONCAT( myColumn ,
', "a108": "Additional Data.",
"a109": "More Additional Data. "'
)
where primaryKeyColumn in
(
select primaryKeyColumn from
(
select primaryKeyColumn
from mySchema.myTable
where column3 = "testdata" AND column4 = aNumber
) as tempTable
);

现在抛出“错误代码:1175。您正在使用安全更新模式,并且尝试更新没有使用 KEY 列的 WHERE 的表。要禁用安全模式,请在“首选项”->“SQL 编辑器”中切换该选项并重新连接”

我查了一下,primaryKeyColumn肯定是主键。任何帮助将不胜感激。

最佳答案

啊,我不知道这是否是唯一的答案,但我可以通过这样做让它工作:

SET @myPrimaryKey = (select primaryKeyColumn from mySchema.myTable where column3 = "testdata" AND column4 = aNumber);
update mySchema.myTable
set myColumn = CONCAT( myColumn ,
', "a108": "Additional Data.",
"a109": "More Additional Data. "'
)
where primaryKeyColumn = @myPrimaryKey;

就这样完成了。

关于使用 where 子句进行 mySQL 更新会引发主键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49580345/

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