mysql数据传输需要建表吗_mysql-如何将表的数据传输到新表?

假设新表已经存在,则可以使用INSERT INTO … SELECT来移动数据.我在这里假设您不想在两个源表之间删除重复项时使用UNION ALL.

INSERT INTO new_table (`user_id`, `some_column`, `some_column_2`)

SELECT COALESCE(user_id_slot_1, user_id_slot_2),

some_column,

some_column2

FROM table1

UNION ALL

SELECT COALESCE(user_id_slot_1, user_id_slot_2),

some_column,

some_column2

FROM table2

注意:上面查询中的COALESCE(user_id_slot_1,user_id_slot_1)项如果不为NULL,则将选择user_id_slot_1,否则将选择user_id_slot_2.假设每个记录中只有一个为非NULL,这应该很好.

假设new_table表的id列设置为自动递增,则MySQL将为您分配这些值.您需要做的就是在new_table中省略id的值,MySQL将处理其余的值.

您应该使用以下内容创建新表:

CREATE TABLE new_table (

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

user_id INT NOT NULL,

some_column VARCHAR(50) NOT NULL,

some_column_2 VARCHAR(50) NOT NULL

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值