保存图片到数据库发现图片id变了
时间: 2023-09-02 12:06:12 浏览: 64
如果保存图片到数据库后发现图片id变了,可能是由于数据库中的图片id是自增长的,每次插入新记录时,数据库会自动为其生成一个新的id。在插入记录时,可以通过设置数据库的主键生成策略来控制id的生成方式,例如可以将主键生成策略设置为"IDENTITY",表示使用数据库的自增长机制生成id;也可以将主键生成策略设置为"UUID",表示使用UUID算法生成id等。
如果需要在插入记录后获取数据库自动生成的id,可以使用JDBC的PreparedStatement对象的getGeneratedKeys()方法来获取。在插入记录时,先将PreparedStatement对象设置为返回自动生成的主键,在执行插入操作后,通过getGeneratedKeys()方法获取自动生成的主键值,然后将其保存到商品信息中的图片id字段中。例如:
```
String sql = "INSERT INTO goods_pic (pic_url) VALUES (?)";
PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, picUrl);
ps.executeUpdate();
ResultSet rs = ps.getGeneratedKeys();
if(rs.next()){
int picId = rs.getInt(1);
// 将自动生成的主键值保存到商品信息中的图片id字段中
goods.setPicId(picId);
}
```
注意:不同的数据库的实现方式可能会有所不同,具体实现方式需要根据数据库的类型和版本进行调整。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)