1

v1、v2、v3、および v4 の値があり、その v1 と v2 がテーブル t1 に挿入されるとします。v3 と v4 をテーブル t2 に。
通常、次を使用してそれを行うことができます。

INSERT INTO t1 VALUES(v1,v2)
INSERT INTO t2 VALUES(v3,v4)

しかし、それを 1 つのステートメントで実行したい場合はどうなるでしょうか。

何かのようなものINSERT INTO t1 VALUES(v1,v2), t2 VALUES(v3,v4)

誰かがそれを達成するためにトランザクションを使用するように私に依頼しましたが、それが MyISAM で機能するかどうかはわかりません。

MySql データベースを使用しています。

4

1 に答える 1

2

申し訳ありませんが、INSERT ステートメントごとに 1 つのテーブルのみです: http://dev.mysql.com/doc/refman/5.5/en/insert.html

ALTER TABLEを使用してエンジンを InnoDB に変更できる可能性がありますが、何も壊れないことを確認してください。

ALTER TABLE t1 ENGINE = InnoDB;

最後の 1 つの可能性 (本当にトランザクションを使用したくない場合) は、データを非正規化して、t1 と t2 を同じテーブルにマージすることです。しかし、まず InnoDB をお勧めします。

于 2012-08-24T13:56:05.930 に答える