我需要使用单个查询将值插入到两个不同的表中

时间:2015-01-08 10:38:55

标签: php mysql

如何连接这两个查询并将它们作为单个查询执行,以在两个表中插入值:

$sql = mysql_real_escape_string('INSERT INTO admin_export(datetime, product_name, item_code,quantity,subject,export_no) VALUES').implode(',', $row_data);
$sql2 = "insert into `itflower_exportno` (admin_exportno) values('$exportno1')";

3 个答案:

答案 0 :(得分:1)

您需要使用分号将两个INSERT语句分隔为单个变量。

自PHP 5.5.0起,此(mysql_ *)扩展名已弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。切换到PreparedStatements可以更好地抵御SQL注入攻击!

但您可以使用以下示例进行交易。

BEGIN;
INSERT INTO users (username, password)
  VALUES('test', 'test');
INSERT INTO profiles (userid, bio, homepage) 
  VALUES(LAST_INSERT_ID(),'Hello world!', 'http://www.stackoverflow.com');
COMMIT;

答案 1 :(得分:0)

代码中包含两个不同的插入内容。 MySQL不允许在同一查询中运行多个插入,因此您必须先执行一次,然后再执行另一次。

但是,您可以在一个查询中在同一个表中插入多行,基本上您只能在一个表中一次执行所需的所有插入。

答案 2 :(得分:0)

你不能这样做。 如果您因为害怕数据的完整性而想要这样做,请使用transaction。 其次,使用合适的transaction isolation level,以确保数据正确读取。

相关问题