MYSQL:复制列但更改类型

标签 mysql sql duplicates copy multiple-columns

我的需求很简单。

我有一个大表,这个表有一列名为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'|

最佳答案

您可以添加一个新列,然后复制到其中:

alter table mytable add column B varchar(10);
update mytable set B = A;

将应用隐式转换。

<强> Demo on DB Fiddle

关于MYSQL:复制列但更改类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59392086/

相关文章:

mysql - CodeIgniter Mysql DB 查询的空结果集

php - 在单个查询中搜索逗号分隔的 MySQL 列中的多个值

mysql - 如何消除MySQL中的重复行?

php - 识别域之间的访问者

php - 用于 Mysql NOT IN 子句的内爆 PHP 整数数组

java - 为什么 Java 在最新的 JDK 更新后无法连接到 MySQL 5.7,应该如何解决? (ssl.SSLHandshakeException : No appropriate protocol)

SQL Server : how to change data entry from VARCHAR to DATETIME?

mysql - 使用 DISTINCT 优化 mysql 查询 Suppliers <-> Products <-> Categories

c - 随机播放,然后查找并替换二维数组中的重复项 - 无需排序

java - 从数组中拆分字符串的 double 值创建一个集合