Mysql 将一个值设置为一个表中的列与另一个表中的列';s列数据
我想创建一个重复的表,比如说,Mysql 将一个值设置为一个表中的列与另一个表中的列';s列数据,mysql,sql,Mysql,Sql,我想创建一个重复的表,比如说,'users',向新表添加几列'users\u history',并在其中一个新添加的列中设置源表的列值 问题是: CREATE TABLE db_portal.users_history LIKE db_portal.users;INSERT db_portal.users_history SELECT * FROM db_portal.users; ALTER TABLE db_portal.users_history MODIFY COLUMN id int
'users'
,向新表添加几列'users\u history'
,并在其中一个新添加的列中设置源表的列值
问题是:
CREATE TABLE db_portal.users_history LIKE db_portal.users;INSERT db_portal.users_history SELECT * FROM db_portal.users;
ALTER TABLE db_portal.users_history MODIFY COLUMN id int(11) NOT NULL,
DROP PRIMARY KEY, ENGINE = MyISAM, ADD action VARCHAR(8) DEFAULT 'insert' FIRST,
ADD revision INT(6) NOT NULL AUTO_INCREMENT AFTER action,
ADD dt_datetime DATETIME NOT NULL DEFAULT (SELECT join_date FROM db_portal.users) AFTER revision,
ADD PRIMARY KEY (id, revision);
在新添加的列中,dt_datetime
,我想从原始表中设置join_date
列的值
但我想这对我不起作用。
非常感谢您的帮助。谢谢。请按不同顺序操作:
CREATE TABLE db_portal.users_history LIKE db_portal.users;
ALTER TABLE db_portal.users_history MODIFY ..........
/* List all columns from "old" table + one new column from "new" table */
INSERT db_portal.users_history( Old_col1, Old_col2, .... Old_colN, dt_datetime )
SELECT t.*,
join_date
FROM db_portal.users t;
这样,insert语句中的最后一列:dt\u datetime
用join\u date
的值填充