我的需求很简单。
我有一个大表,该表有一个名为A的列。它的类型是int,A目前只能容纳的值是1、2或3。
我想更改表,创建一个名为B的新列,然后将A复制到其中,但B的类型为string / varchar。
我已经检查了MYSQL,我发现它可以非常轻松地将int转换为字符串。
例如之前
index| A |
0 | 1 |
1 | 1 |
2 | 3 |
将变成
index| A | B |
0 | 1 |'1'|
1 | 1 |'1'|
2 | 3 |'3'|
答案 0 :(得分:1)
您基本上已经在问题中完全描述了您必须做什么:
ALTER TABLE test
ADD COLUMN B VARCHAR(10) -- adjust size as required
;
UPDATE test
SET B = A
答案 1 :(得分:1)
您可以添加一个新列,然后将其复制到其中:
alter table mytable add column B varchar(10);
update mytable set B = A;
将使用隐式强制转换。