PHP / MySQL - 在一个请求中更新2个表

时间:2010-04-22 11:01:13

标签: php sql insert

我想了解更多关于SQL的信息,我想要更新到表格;

$query3 = "INSERT INTO `$table1`, `$table2` ($table1.DISPLAY_NAME, $table1.EMAIL_ACCOUNT, $table2.DISPLAY_NAME, $table2.EMAIL_ACCOUNT) values ('" . DISPLAY_NAME . "', '" . EMAIL_ADDRESS . "', '" . $get['rn'] . "', '" . $email . "')";
可能有人指出我会如何解决这个问题?目前的错误是:

  

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在contacts_ACT_Web_Designs附近使用正确的语法(contacts_E_Jackson.DISPLAY_NAME,contacts_E_Jackson'在第1行

3 个答案:

答案 0 :(得分:2)

在MуSQL中,您只能将记录插入一个表中。同时,mysql_query()不支持多个查询。因此,您应该将插入分成两个请求并逐个执行。

答案 1 :(得分:1)

您确定MySQL INSERT语句可以插入两个表吗?我从来没有听说过能够在任何数据库中插入这种方式。您是否尝试了两个单独的插入语句(每个表一个)?

答案 2 :(得分:0)

MySQL无法一次插入两个表,因此您必须将查询拆分为两个独立的表。如果你需要它们两者插在一起(如果一个失败,另一个将不插入),那么你可以使用transactions

基本上你启动一个事务运行查询,如果出现任何问题你做回滚,如果一切顺利,你提交事务。

另据我记忆,您的引擎必须是InnoDB才能获得交易。