不会吧!mysql_query每次只能执行一条语句?如果有一个事务 START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summmary=@A WHERE type=1; COMMIT; 也只能一行一行执行?
你那个语句中间用了连字符,其时还是这样的 $sql = "INSERT INTO `user_list` (`group_id`,`user_id`) VALUES(1,1);INSERT INTO `user_list` (`group_id`,`user_id`) VALUES(1,1);"; 这根本不是sql语句嘛,怎么可能执行呢?
$sql="INSERT INTO tablename(index1,index2) VALUES(var1,var2)(var3,var4)..."
var1,var2和var3,var4是平行的值。你自己可以去大A的blog看看,上面有一个这样的文章
http://www.phpe.net/blog/
楼主,这条语句应该有问题!
试了一下,没有问题,哈哈,又多学了一招!
以前也是这样写,现在觉得这个执行一条SQL语句可以插入多条记录的方法不错,值得一试,在程序中!
你想连续插入可以用这种形式的SQL insert语句:
INSERT INTO `user_list` (`group_id`,`user_id`) VALUES (1,1),(1,1);INSERT的语法格式如下:
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
全写入数组然后循环这种方法不推荐。
效率太低,浪费数据库连接资源。
START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summmary=@A WHERE type=1;
COMMIT;
也只能一行一行执行?
$sql = "INSERT INTO `user_list` (`group_id`,`user_id`) VALUES(1,1);INSERT INTO `user_list` (`group_id`,`user_id`) VALUES(1,1);";
这根本不是sql语句嘛,怎么可能执行呢?