图片上传,保存到DB(postgresql)中,DB中的类型为bytea,图片插入的时候,把图片转成byte[]型,插入DB,没有问题。
但是更新的时候,传入的图片仍为byte[]型,更新没有成功,DB中bytea项目里被更新成NULL。
麻烦请教各位,更新的时候,改怎样更新bytea类型的项目?谢谢。
update Stu
STATUS = #{status},
image = #{image},
name= #{name}
where id= #{stuid}
Update更新 bytea类型失败 PostGresql
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- leaf_cq 2022-06-06 13:04关注
1、对于PostGresQL本身而言,bytea类型的字段本身的更新是没有问题的,我在12版本中进行测试:
CREATE TABLE t_tmp_tmp001 ( id varchar(100), c1 bytea, PRIMARY KEY( id ) ); INSERT INTO t_tmp_tmp001( id, c1 ) VALUES ( '1', '1234'::bytea ); -- 字符 SELECT * FROM t_tmp_tmp001; UPDATE t_tmp_tmp001 SET c1 = '\132\123\222\177'::bytea WHERE id = '1'; -- 八进制 SELECT * FROM t_tmp_tmp001; UPDATE t_tmp_tmp001 SET c1 = '\xa15c88221f'::bytea WHERE id = '1'; -- 十六进制 SELECT * FROM t_tmp_tmp001;
三次SELECT分别输出为:
2、一个是看你的数据库版本,另一个是看你其他两个字段是否更新成功
3、或者你先将bytea字段更新为null,再更新为你的新值试下看
4、如果实在不行,就将更新调整为插入语句,将要更新的记录先提取出来,然后删除原来的记录,将原来的数据与新的数据组装成一条添加语句即可。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan