Mysql 使用sql在具有不同架构的DB表之间复制数据
我在MySql数据库中有两个表A、B 表A有2列(用户,通过) 表B还有3列(用户、过程、日期1、日期2、布尔值) 我想复制表A中的数据,并将其插入到表B中,为其他列提供默认值。 实现这一目标的最佳方式是什么?(首选sql)检查此urlMysql 使用sql在具有不同架构的DB表之间复制数据,mysql,sql,rdbms,Mysql,Sql,Rdbms,我在MySql数据库中有两个表A、B 表A有2列(用户,通过) 表B还有3列(用户、过程、日期1、日期2、布尔值) 我想复制表A中的数据,并将其插入到表B中,为其他列提供默认值。 实现这一目标的最佳方式是什么?(首选sql)检查此url http://dev.mysql.com/doc/refman/5.1/en/insert-select.html 他们还发布了一个与讨论部分中您的要求完全相同的示例 mysql> INSERT INTO orders (customer_cust_id
http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
他们还发布了一个与讨论部分中您的要求完全相同的示例
mysql> INSERT INTO orders (customer_cust_id, orderdatetime, message, taxrate, shippingprice)
-> SELECT '1', NOW(), null, taxrate, shippingprice FROM customer
-> WHERE cust_id='1';
Query OK, 1 row affected (0.01 sec)
希望这有帮助此insert语句使用select子句为insert提供值:
insert into B(user,pass) select user,pass from A;
如果表中未定义默认值:
insert into b (user,pass,date1,date2,boolean)
select user,pass,'2012-04012','2012-04012',true from a
如果表定义包含默认值:
insert into b (user,pass,date1,date2,boolean)
select user,pass from a
它成功了。唯一的缺点是,我在表B上设置了自动增量列,在这个查询之后,它的增量是需要的两倍。有什么想法吗?在上面的查询中添加了“自动递增”列-不起作用。你能给出你正在使用的确切查询吗??我可以在这里签入:插入用户(userId、username、password、activated、payingStatus、createTime、updateTime)从usersok中选择NULL、username、password、TRUE、0、NOW()、NOW()…删除userId字段并删除NULL,因为它是自动递增的(而不是NULL),它将自动在该属性中输入