gpt4 book ai didi

MySQL 使用序列号更新会产生 NULL

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

我想使用相关条目的名称(每行附加一个数字)来更新列的值。我见过几个other questions它给出了大致相同的答案,但是当我尝试下面的操作时,我得到了 NULL 添加。

SET @i = 0;
UPDATE matrix_data md
SET col_id_4 = concat((SELECT title from titles t WHERE t.entry_id = md.entry_id), (@i:=@i+1));

如果我将 (@i:=@i+1) 替换为静态值,则更新可以正常工作。

col_id_4 列设置为 text。以上仅适用于数字列类型吗?如果是这样,我该如何实现我想做的事情?

最佳答案

如何获取titles表的主键而不是使用迭代器,从而用titles.title的串联填充col_id_4 em> 和 titles.entry_id,因此...

UPDATE matrix_data 
INNER JOIN titles ON matrix_data.entry_id = titles.entry_id
SET matrix_data.col_id_4 = CONCAT(titles.title, "_", titles.entry_id)

或者可能是类型问题;当我们与字符串连接时,将迭代器强制转换为 char(50) 应该可以。在基本数据库中进行测试,而不是专门在 #craftcms 或 #eecms 中进行测试。

SET @i := 0;

UPDATE matrix_data
INNER JOIN titles ON matrix_data.entry_id = titles.entry_id
SET matrix_data.col_id_4 = CONCAT(titles.title, "_", CAST(@i := @i + 1 as CHAR(50)))

关于MySQL 使用序列号更新会产生 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37152899/

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