$sql="INSERT INTO `user_list` (`group_id`,`user_id`) VALUES (1,1),(2,34),(4,33)";

解决方案 »

  1.   

    mysql版本大于3.23.53(好象是这个吧)可以这样写
    $sql="INSERT INTO tablename(index1,index2) VALUES(var1,var2)(var3,var4)..."
    var1,var2和var3,var4是平行的值。你自己可以去大A的blog看看,上面有一个这样的文章
    http://www.phpe.net/blog/
      

  2.   

    问netstu(孤心) :哪里有错误?请提醒我一下。谢谢!
      

  3.   

    [$sql="INSERT INTO `user_list` (`group_id`,`user_id`) VALUES (1,1),(2,34),(4,33)"]
    楼主,这条语句应该有问题!
      

  4.   

    把 "INSERT INTO `user_list` (`group_id`,`user_id`) VALUES(1,1)"; 全写入数组然后循环  mysql_query($sql, $db);
      

  5.   

    wjjchen(redfox)
    试了一下,没有问题,哈哈,又多学了一招!
      

  6.   

    to armi514(armi514) 
    以前也是这样写,现在觉得这个执行一条SQL语句可以插入多条记录的方法不错,值得一试,在程序中!
      

  7.   

    mysql_query一次只能执行一个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, ... ]
      

  8.   

    To:armi514(armi514)
       全写入数组然后循环这种方法不推荐。
       效率太低,浪费数据库连接资源。
      

  9.   

    不会吧!mysql_query每次只能执行一条语句?如果有一个事务
    START TRANSACTION;
    SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
    UPDATE table2 SET summmary=@A WHERE type=1;
    COMMIT;
    也只能一行一行执行?
      

  10.   

    你那个语句中间用了连字符,其时还是这样的
    $sql = "INSERT INTO `user_list` (`group_id`,`user_id`) VALUES(1,1);INSERT INTO `user_list` (`group_id`,`user_id`) VALUES(1,1);";
    这根本不是sql语句嘛,怎么可能执行呢?
      

  11.   

    问netstu(孤心) :那怎么写才能通过呢?能说得再清楚一点吗?