0

我需要使用一个按钮将数据插入到同一数据库中的两个不同表中,但不知道如何操作。

我的两个插入命令如下所示:

$insertSQL1 = sprintf("INSERT INTO table2...blah blah blah..."); // this is a whole load of info from the form
$insertSQL2 = ('INSERT INTO table2...blah blah blah...'); // this is some more data, including an array

我尝试将它们放入“BEGIN WORK... COMMIT WORK”函数中,如下所示:

$insertSQL = "BEGIN WORK;
".$insertSQL1.";
".$insertSQL2.";
COMMIT WORK;";

...但我总是得到以下错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“INSERT INTO ...”附近使用的正确语法

我一生都无法弄清楚实际的语法错误是什么。关于更好的方法的任何建议?

4

2 回答 2

1

使用不能在一次调用中执行多个查询(使用普通查询调用)。使用此语法

insert into table2 (col1, col2, col3)
values (1, 2, 3),
       (4, 5, 6)

用一个查询插入多条记录。

于 2013-01-22T14:16:47.923 回答
0

You will have to use two insert functions for that:

$query1 = "INSERT INTO table1 (col1, col2) values (1,2)";
$query2 = "INSERT INTO table2 (col1, col2) values (1,2)";
mysql_query($query1);
mysql_query($query2);

I used mysql_query for simplicity, you have to use your own DB functions for that of course. It can still be done with one click, but you need to use 2 SQL statements. Just do this:

if ($clicked==true){
   //insert queries
}
于 2013-01-22T15:02:45.440 回答