数据插入和链接表

时间:2011-08-15 14:32:20

标签: php sql database

我是数据库的新手,但我知道如何使用sql和php将数据插入到一个表中,但现在我需要同时将数组中的数据插入到几个表中。更多,我有3个主表和2个链接表,在1和2之间有一个linkng表,另一个在2和3之间。如何同时将数据插入数据?链接表中的主键由主表中的主'id'键构成,这些键是在自动增量上设置的。 谢谢你的帮助..

3 个答案:

答案 0 :(得分:0)

您不能一次在多个表中插入记录。你必须手动为表做一次。

答案 1 :(得分:0)

如果您同时使用一个INSERT语句,则无法将数据插入到多个表中。编写一系列INSERT语句,每个表一个。做检查以确保每个人都成功运行。

答案 2 :(得分:0)

您只能将数据逐个插入表中。 但是,如果您需要保证所有表中的数据一次存在,则应使用事务。 如果出现问题并且您没有在db中获得不一致的数据,这将有所帮助。 例如,在php中你就像这样:

$pdo_con = new PDO(...);
try {
$pdo_con->beginTransaction();

$pdo_con->exec("INSERT INTO table1 ....");
$table1_id = $pdo_con->lastInsertId();
$pdo_con->exec("INSERT INTO table2 ....");
$table2_id = $pdo_con->lastInsertId();
$pdo_con->exec("INSERT INTO linked_table .... values($table1_id, $table2_id )");
//repeat for other tables

$pdo_con->commit();
catch(PDOException $e) {
$pdo_con->rollback();
}