我正在将数据从一个数据库表复制到另一个数据库表。这本质上是将数据从我们的旧格式复制到我们的新格式。因此,除了简单地逐值复制列外,我还需要在复制语句中进行一些转换。
例如,这是我必须执行的复制...
INSERT INTO new_database.table1 (id, product, is_default)
SELECT id, product, is_default FROM old_database.table1
ID 和产品工作正常。但是,在此示例中,old_database 将“is_default”存储为 VARCHAR(1)
,即“Y”或“N”。 new_database 将“is_default”存储为 BOOLEAN
。
如何在我已经使用的 INSERT SELECT 语句中进行格式之间的转换?
最佳答案
尝试如下:
INSERT INTO new_database.table1 (id, product, is_default)
SELECT id, product, IF(is_default='Y',1,0) as isdefault FROM old_database.table1
关于MYSQL 复制一张表到另一张表并转换列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20495883/