2012-04-04 14 views
0

私のプログラムが罰金と料金で動作する方法を更新しました。これで、古いデータを新しいフォーマットに移行/移行する必要があります。それまでに働いていたやり方は、罰金であった/料金はユーザーのレコードのフィールドに保存されていました。今度は、それぞれの料金を追跡するために全く新しいテーブルがあります。私は単に、その請求フィールドと1レコードをその請求と一緒に請求テーブルに持っていきたいと思います。mysql転送クエリ

User table: id as INT, name as VARCHAR, charges as DECIMAL(10, 2) 
Charge Table: id as INT, user_id as INT, amount as DOUBLE, type as INT, date_applied as DATETIME, description as VARCHAR 

は、私はユーザーレコード考えてみましょう:(id => 1, name => 'john doe', charges => 4.20)をして

(id => 1, user_id => 1, amount => 4.20, type => 1, date_applied => (whatever time the transfer is taking place), description => 'Initial balance') 

の充電レコードにそれを転送したい私は、SQLクエリで、この1時間の転送を行うことができますどのように?私はむしろこの一度の取引のためにPHPスクリプトを書くつもりはないでしょう。

答えて

2

これは、必要な操作を行う必要があります。

INSERT INTO `Charge Table` SELECT NULL, id, charges, 1, NOW(), 'Initial balance' FROM `User Table` 
+0

私が正しく理解すれば、これはうまくいくはずですか? \t VALUES(SELECT NULL、id、罰金、null、 '初期残高'、NOW()、1 FROM 'patrons') – LordZardeck

+0

実際にはそうではありませんでした。私はそれを試して、私は 'SELECT NULL、id、罰金、nullの近くでエラーが発生しました。 – LordZardeck

+0

いいえ、あなたは 'VALUES'または括弧は必要ありません。 SELECT NULL、id、罰金、null、 '初期残高'、NOW()、1客から ' –