[英]Adding Mysql columns from one table to another
我有两个MySQL表:一个称为Audit表,另一个称为Audit2表。 我需要将列名称从Audit2复制到Audit。 例如,表Audit具有第1、2和3列,而Audit2具有第4、5和6列,而我需要Audit具有第1、2、3、4、5和6列。
我尝试以下操作未成功:
ALTER TABLE `Audit` ADD (select `COLUMN_NAME` from information_schema.columns
where table_schema = 'BMS' and `TABLE_NAME` = 'Audit2') (select `DATA_TYPE` from information_schema.columns
where table_schema = 'BMS' and `TABLE_NAME` = 'Audit2') NOT NULL
你可以做到
create table new_audit as
select t1.*,t2.* from audit as t1 inner join audit_2 as t2 on 1=0;
表new_audit将具有所有列
你有没有尝试过:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='your_table_name';
它将在所需表的单个列中返回所有列名。
如果您设置了PHP环境,则可以下载此工具: http : //www.mysqldiff.org/downloads.php很棒-将比较两个mysql数据库模式,并生成将结构同步在一起的mysql代码,听起来就像您需要的东西一样,也方便将来使用。
如果不。 我会做您正在做的事情,但可能只是为了简化实例和3列而简化了一下。
像ALTER TABLE Audit ADD yourcolumnname VARCHAR(100);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.