TP6操作pgSQL13报错解决方案
引言
在使用ThinkPHP 6框架进行开发时,遇到与PostgreSQL数据库交互时出现的错误。本文将分享一个关于TP6操作pgSQL13时遇到的报错问题及其解决方案。
问题描述
在执行以下代码时:
public function tt(){ $a = Items::create([ 'item' => 'think' ]); }
遇到以下错误:
SQLSTATE[42703]: Undefined column: 7 ERROR: column pg_attrdef.adsrc does not exist LINE 10: pg_attrdef.adsrc AS fields_default,https://www.pxwang.com/
问题分析
错误提示表明在执行数据库查询时,尝试访问了一个不存在的列pg_attrdef.adsrc。这通常是由于数据库的版本或配置问题导致的。
解决方案
根据社区讨论和尝试,以下是解决此问题的一些步骤:
- 
修改 pgsql.sql文件:将pgsql.sql文件中的61行:pg_attrdef.adsrc AS fields_default,
 修改为:pg_get_expr(pg_attrdef.adbin, pg_attrdef.adrelid) AS fields_default,
- 
重新创建数据库:重新执行修改后的 pgsql.sql文件执行一遍。解决由于数据库版本或配置不一致导致的问题。
结论
直接修改pgsql.sql文件不能解决问题,但重新创建数据库并执行修改后的脚本可能是一个有效的解决方案。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号