MySql DB に 2 つのテーブル A、B があります。
テーブル A には 2 つの列 (ユーザー、パス) があります
テーブル B には追加の 3 つの列 (user、pass、date1、date2、boolean) があります。
テーブル A からデータをコピーし、追加の列のデフォルト値を使用してテーブル B に挿入したいと考えています。これを達成するための最良の方法は何ですか?(SQL が推奨されます)
表でデフォルトが定義されていない場合:
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
このURLを確認してください
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)
お役に立てれば
この挿入ステートメントは、select 句を使用して挿入の値を提供します。
insert into B(user,pass) select user,pass from A;