【发布时间】:2021-12-19 09:22:12
【问题描述】:
我有桌子:
id | f_name | m_name | l_name
1 | a b c | null | null
2 | a b c | null | null
3 | a b c | null | null
我想要这样的输出:
id | f_name | m_name | l_name
1 | a | b | c
2 | a | b | c
3 | a | b | c
我的选择查询有效,数据输出就是这样。我在同时更新多个列时遇到了挑战。任何建议或有用的链接将不胜感激。
我的查询:
update tbl_client_test1 set f_name, m_name, l_name = (SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(f_name, ' ', 1), ' ', -1) AS f_name,
If( length(f_name) - length(replace(f_name, ' ', ''))>1,
SUBSTRING_INDEX(SUBSTRING_INDEX(f_name, ' ', 2), ' ', -1) ,NULL)
as m_name,
SUBSTRING_INDEX(SUBSTRING_INDEX(f_name, ' ', 3), ' ', -1) AS l_name
FROM tbl_client_test1)
【问题讨论】:
-
您的第一个表中的数据还不是很适合导入 MySQL。我建议在将数据导入 MySQL 之前对其进行整理。
标签: mysql sql-update substring string-length