我在 MySql DB 中有 2 个表 A、B。
表 A 有 2 列(用户、通行证)
表 B 有额外的 3 列(user、pass、date1、date2、boolean)
我想从表 A 中复制数据并将其插入到表 B 中,并使用其他列的默认值。实现这一目标的最佳方法是什么?(首选sql)
检查这个网址
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 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
此插入语句使用 select 子句为插入提供值:
insert into B(user,pass) select user,pass from A;