我在MySQL中有一个表,我从中提取第一个字母并将其插入另一个列中,该列为空但未正确提取。它显示空值并将表中的行数加倍,并将其显示在另一半中,如下所示。
TEAM TS
AUSTRALIA (NULL)
ZIMBABWE (NULL)
GHANA (NULL)
(NULL) A
(NULL) Z
(NULL) G
但我希望以下列方式:
TEAM TS
AUSTRALIA A
ZIMBABWE Z
GHANA G
我写了以下查询:
insert into [table_name]
(
TS
)
SELECT SUBSTRING(TEAM,1,1)
FROM [table_name]
;
我做错了什么?
答案 0 :(得分:1)
你想要update
。我会把它写成:
update table_name
set ts = left(team, 1);
insert
插入新行。 update
更改现有行中的值。这就是为什么您要获得NULL
的{{1}}值的其他行。
答案 1 :(得分:0)
插入在表中添加新条目,并且仅指定TS列,因此团队列采用空值。 你应该使用UPDATE:
UPDATE [table_name]
SET table_name.TS = (SELECT SUBSTRING(B.TEAM,1,1)
FROM (SELECT TEAM FROM [table_name]) AS B))