Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将一个值设置为一个表中的列与另一个表中的列';s列数据_Mysql_Sql - Fatal编程技术网

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
的值填充