mysql insert语句出错

String sql ="insert into order(id,buyer_id,seller_id,time,address,number,shortnum,deal) values(null,?,?,?,?,?,?,?)";

try {
//conn.setAutoCommit(false);
for(int i=0;i<sellers.length;i++){
Seller ser = sellers[i];
//ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
ps = conn.prepareStatement(sql);
ps.setString(1,user.getId());
System.out.println(user.getId());
System.out.println(ser.getId());
System.out.println(user.getAddress());
System.out.println(user.getNumber());
System.out.println(user.getShortnum());
System.out.println(t.toString());

ps.setString(2, ser.getId());
ps.setString(3,t.toString());
ps.setString(4, user.getAddress());
ps.setString(5, user.getNumber());
ps.setString(6, user.getShortnum());
ps.setString(7, "no");
int k = ps.executeUpdate();
报错:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order(id,buyer_id,seller_id,time,address,number,shortnum,deal) values(null,'2012' at line 1

已经烦死。核对sql语句很多遍了,我还是没有发现问题。
没有财富值悬赏了不好意思。在线等。

如果你的id是自增的,那么就不要把id写进来了;
insert into ..(id,...) values(null, ?,?..) 我不知道null可不可以

insert into ...(...) values(?,?...)
直接把id从语句里面去除。追问

试过把id,和null去除了。。不行。

追答

你的类型是对应的吗?怎么都是setString

追问

都是string的

追答

你是批量插入操作吗?如果是,要用addbatch方法。

追问

我把原来那张表删了,重新建了张表可以了。太坑爹了。

温馨提示:答案为网友推荐,仅供参考