mysql中批量往表里插入数据,比如有十条语句:insert into tab1(1,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(2,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(3,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(4,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(5,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(6,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(7,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(8,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(9,'a','mmmmmmmmmmmmmmmmm');
insert into tab1(10,'a','mmmmmmmmmmmmmmmmm');我想一次批量执行,并且当某条语句出错,就回滚。
不用存储过程的话该怎么写??

解决方案 »

  1.   

    insert into tab1 values(
    (1,'a','mmmmmmmmmmmmmmmmm'),
    (2,'a','mmmmmmmmmmmmmmmmm'),
    (3,'a','mmmmmmmmmmmmmmmmm'),
    (4,'a','mmmmmmmmmmmmmmmmm'), 
    (5,'a','mmmmmmmmmmmmmmmmm'),
    (6,'a','mmmmmmmmmmmmmmmmm'), 
    (7,'a','mmmmmmmmmmmmmmmmm'), 
    (8,'a','mmmmmmmmmmmmmmmmm'),
    (9,'a','mmmmmmmmmmmmmmmmm'),
    (10,'a','mmmmmmmmmmmmmmmmm') 
    ); #f:\\MySQL\\tab1.sql为tab1.sql所在的路径,可以先用记事本编写tab1.sql放在f:\\MySQL目录下  
    #在mysql的相应table下的命令行输入以下内容,注意 \. 后有空格 
    \. f:\\MySQL\\DB1.sql  
      

  2.   

     jdbc 中有个 addBatch() 方法,就是支持批量插入啊
      如果你用了hebernate 的话,那就更好解决批量插入的问题