5

私は現在、Mysql db を使用して Web ベースのシステムに取り組んでいます。

最初にテーブル内の列を間違って設定したことに気付きました。

テーブル (clients) の 1 つのテーブル列 (receiptno) からテーブル (revenue) の同様のテーブル列 (receiptno) にデータを移動する必要があります。

私はまだMysqlにかなり慣れていないため、これを達成するためのmysql構文を知りません.

私はそれについていくつかの助けを得ることができます.

ありがとう

4

3 に答える 3

13

revenueテーブル内の新しいレコードにデータを挿入するだけの場合:

INSERT INTO revenue (receiptno) SELECT receiptno FROM clients;

ただし、テーブルの既存のレコードをrevenueテーブルの関連データで更新する場合clientsは、テーブルを結合して次の操作を実行する必要がありますUPDATE

UPDATE revenue JOIN clients ON **join_condition_here**
SET    revenue.receiptno = clients.receiptno;

SQL 結合について学習します。

于 2012-05-17T11:52:21.933 に答える
5

egyal の回答と同じにおい、においが異なります。これは Oracle と Postgress で機能するため、マイレージは異なる場合があります。

UPDATE revenue t1 SET receiptno = (
  SELECT receiptno FROM clients t2 WHERE t2.client_id = t1.revenue_id
);

ニーズに合わせて where 句を調整する必要があります...

于 2012-05-17T13:27:53.870 に答える
1
INSERT INTO newtable (field1, field2, field3)
SELECT filed1, field2, field3
FROM oldtable
于 2012-05-17T11:55:48.410 に答える