1

假设我们有 v1、v2、v3 和 v4 值,其中 v1 和 v2 将被插入到表 t1 中;v3 和 v4 放入表 t2。
我们通常可以使用:

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

但是,如果我们想在单个语句中做到这一点?

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

有人让我使用事务来实现这一点,但我不知道这是否适用于 MyISAM。

我正在使用 MySql 数据库。

4

1 回答 1

2

抱歉,每个 INSERT 语句只有一个表:http: //dev.mysql.com/doc/refman/5.5/en/insert.html

您可以使用ALTER TABLE将引擎更改为 InnoDB ,但请确保它不会破坏任何内容:

ALTER TABLE t1 ENGINE = InnoDB;

最后一种可能性(如果您真的不想使用事务)是对数据进行非规范化——将 t1 和 t2 合并到同一个表中。但我首先推荐 InnoDB。

于 2012-08-24T13:56:05.930 回答