$db->query($sqll)//执行插入,一定要用query,不能用exec
$id=$db->lastInsertId()//获取刚才插入记录的自动编号值。
是想让ID自增,不插入这个字段吧?
执行 insert into user(name) values('333')不插入ID字段即可。
主键、自增也可以插入在ID上插入值。如下图
2种办法1.修改你的数据库表,将ID设为自增长,注:只有主键才可以设置为自增长
id自增是由mysql负责的,设置id AUTO_INCREMENT 插入时不用插入id值就能实现自增CREATE TABLE `table ` (`id` INT(8) NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`))
2.代码中进行处理
Statement ps
ResultSet rs
int id = 0
..................
String sql="select max(id) as id from message"
rs = ps.executeQuery(sql)//查询出最大ID
if(rs.next){//如果有ID,原有ID+1
id = rs.getInt("id")+1
}else{//否则 ID 初始为0
id = 0
}
//下面接你写的代码就OK了
PreparedStatement ps
String sql="insert message (id,name,msg) value(?,?,?)"
ps.setString(1,id)
ps.setString(2,name)
ps.setString(3,msg)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)