stmt.executeUpdate("insert into hl(Id,Bm,Xm,Xb,Mm,Admin ) values(0001,'1001','Jen','female',2002,'1'),(0002,'1002','Saly','male',1001,'0'),(0003,‘2001’,‘Kany’,'female',3001,'3')");一个value及一条记录可以运行,但多条记录出现sqlException,告sql语句末缺少分号(;),但加上了还是同样的exception
这样直接在values后面接好几条记录是不行的啊
INSERT [ INTO]
{ table_name WITH ( < table_hint_limited > [ ...n ] )
| view_name
| rowset_function_limited
} { [ ( column_list ) ]
{ VALUES
( { DEFAULT | NULL | expression } [ ,...n] )
| derived_table
| execute_statement
}
}
拆用多个insert语句吧
value(...),(...)应该是可以的
Statement stmt = con.createStatement();
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Amaretto', 49, 9.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Hazelnut', 49, 9.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Amaretto_decaf', 49, 10.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Hazelnut_decaf', 49, 10.99, 0, 0)");
int [] updateCounts = stmt.executeBatch();
还特意开了sql server试了一下,还看了看联机帮助:(
hehe
咬他!!!!!!1!:-0可以用 PreparedStatement效率会高点!
还是拆开放在一个事物处理中执行吧to hegum(大概):
数据量要多少的时候才会用批量处理呢
用prepareStatement,放在一个事务处理中执行比之如何呢。
这一点我还没搞清楚。青赐教!:)
1、一次插入一条记录;
2、一次通过query插入多条记录;
语法错误,第二条记录,操作符丢失