我有两个MySQL表:一个叫做审核,另一个叫做Audit2。我需要将列名从Audit2复制到审核。例如,表审计有列1、2和3,Audit2有列4、5和6,我需要审计有列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发布于 2015-08-13 10:39:18
你可以通过
create table new_audit as
select t1.*,t2.* from audit as t1 inner join audit_2 as t2 on 1=0;表new_audit将包含所有列
发布于 2015-08-13 10:30:42
你试过:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='your_table_name'; 它将从所需的表中返回单个列中的所有列名。
发布于 2015-08-13 10:40:12
如果您已经设置了一个PHP环境,您可以下载这个工具:http://www.mysqldiff.org/downloads.php --它非常出色--将比较两个mysql数据库模式,并生成将这些结构同步在一起的mysql代码,听起来就像您所需要的,而且将来也很方便。
如果不是。我会做您正在做的事情,但可能只是简化一下,只为了一个off实例和3列。
有点像ALTER TABLE Audit ADD yourcolumnname VARCHAR(100);
https://stackoverflow.com/questions/31985369
复制相似问题