gpt4 book ai didi

按该字段选择时的 MySql 更新字段

转载 作者:行者123 更新时间:2023-11-29 03:27:31 24 4
gpt4 key购买 nike

我想更新一个字段,但我只能通过从该字段中选择来识别要更新的行,例如:

UPDATE alumni_feedback_questions
SET question_text = 'Basic Skills / Foundation Learning'
WHERE question_text = 'Basic Skills and Foundation Learning'

我确定这在 SQL Server 中有效,但在 MySql 中似乎无效。

我很确定这个问题是因为我正在对正在变化的值进行选择,而且我明白为什么这会有问题。本来以为设计者会想到这种情况,让它先做select,先确定要改的字段再改。

我也试过:

 UPDATE alumni_feedback_questions
SET question_text = 'Basic Skills / Foundation Learning'
WHERE ID = (
SELECT ID
FROM alumni_feedback_questions
WHERE question_text = 'Basic Skills and Foundation Learning'
)

但这也行不通。

这可以做到吗 - 我不想选择 eh id 并手动插入它们 - 一定有更好的方法吗?

我看到了关于将同一个表加入到 select 中的一些东西?

UPDATE - 我从这个 UPDATE 语句中得到的错误信息是:

You can't specify target table 'alumni_feedback_questions' for update in FROM clause    0.016 sec

最佳答案

您的第一个建议是正确的。这是根据列的当前值更新列的有效 SQL:

UPDATE alumni_feedback_questions
SET question_text = 'Basic Skills / Foundation Learning'
WHERE question_text = 'Basic Skills and Foundation Learning'

要检查它是否确实选择了某些东西,并因此能够更新,请执行选择:

SELECT question_text
WHERE question_text = 'Basic Skills and Foundation Learning'

如果得到零结果,则说明您的文本不存在。

关于按该字段选择时的 MySql 更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34284541/

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