PgAdmin执行INSERT语句后插入空行而非指定值问题求助
解决PostgreSQL插入数据后PgAdmin显示为空的问题
第一步:确认数据是否真的插入成功
不要依赖PgAdmin的可视化视图,直接执行SELECT语句验证:
SELECT * FROM public."Employee";
如果能返回插入的Joseph Ward数据,说明数据已经成功写入,问题出在PgAdmin的显示上。
第二步:解决PgAdmin显示问题
- 确保你选中的是正确的数据库,不要选错了库。
- 右键点击
"Employee"表,选择「查看数据」→「查看全部行」,或者点击界面上的刷新按钮(圆形箭头图标),手动刷新数据视图。 - 检查PgAdmin的过滤器设置,是否不小心添加了过滤条件导致数据被隐藏。
第三步:修复可能的日期格式问题
如果SELECT也查不到数据,大概率是日期格式不兼容导致的隐性错误(PostgreSQL在某些配置下不会报错,而是插入无效的日期值)。PostgreSQL默认的日期格式是YYYY-MM-DD,你用的'12-10-1970'可能无法被正确解析,修改INSERT语句为以下两种方式之一:
方式1:使用标准日期格式
INSERT into "Employee" (fname,surname,nid,date_of_birth,speciality,doctor) values ('Joseph','Ward',1,'1970-10-12','Orthodontics',1);
方式2:用TO_DATE函数明确指定格式
INSERT into "Employee" (fname,surname,nid,date_of_birth,speciality,doctor) values ('Joseph','Ward',1,TO_DATE('12-10-1970', 'DD-MM-YYYY'),'Orthodontics',1);
执行修改后的INSERT语句,再用SELECT查询验证,之后在PgAdmin中刷新查看数据即可。
内容的提问来源于stack exchange,提问作者TaRaNeH
相关产品推荐
相关产品推荐

