一个页面上分为2个部分,一个是编辑 一条消息 内容,一个是选择 该 消息发给 哪个用户,分为2个表 一个是消息 表,一个是 消息发送用户表 主要字段 用户ID,消息ID ,
当编辑完了消息和 选择用户后 ,提交 后,
现在有个问题就是:在 消息发送用户表 写数据的时候 ,消息ID这个时候还没有产生怎么往 消息发送用户表写数据,
有个 办法 把消息ID 设置成自动增长,插入时候取表中最大 +1 ,感觉这方法不太好,
有没有什么其他好的方法
当编辑完了消息和 选择用户后 ,提交 后,
现在有个问题就是:在 消息发送用户表 写数据的时候 ,消息ID这个时候还没有产生怎么往 消息发送用户表写数据,
有个 办法 把消息ID 设置成自动增长,插入时候取表中最大 +1 ,感觉这方法不太好,
有没有什么其他好的方法
2.根据用户ID去最大值,select max(消息ID)+1 from table where 用户ID='',这种方法可能会发生主键重复的情况。
然后提交,在提交的时候要往消息表 和消息发送表 写数据,其中消息发送表结构是userid,msgid,
但是在保存的时候因为消息id还没有产生出来,那么 消息发送表 中的msgid怎么确定
2. 向消息表中插数据时使用 Statement.executeUpdate("insert into ...", Statement.RETURN_GENERATED_KEYS); 根据返回值判断插入操作是否成功,如果成功,可以使用 Statement.getGeneratedKeys(); 获取包含有自动生成的字段值的 ResultSet。
3. 使用 2 中获得的自动生成的 id 向消息发送用户表插入数据。