TP5插入Pgsql报错不存在字段ID

原创
2021/01/08 17:36
阅读数 3.6K

错误情景:在调用TP5的insert方法,插入pgsql表的时候,报错:fields not exists:[id]

排查原因:

1.已根据网上的教程,运行了tp5/thinkphp/connector/pgsql.sql,开启了php版本里面关于pgsql的两个dll扩展初步判断应该是框架的问题

2.tp版本是5.0,于是打算用较高的tp版本,进行insert/save方法插入数据,还行不行,用getTableFields()方法也只能获取到mysql的表字段而不能得到pgsql的表字段,但是用框架的count()和select()方法,是没啥问题的

解决办法:

在tp5中,save,insert,select,都是框架封装的方法,对于mysql是比较友好的,但是估计是框架原因,pgsql在使用这些方法时,有的方法用不了,所以只能使用原始的解决办法,使用sql执行

$sql="insert into test(id,name) values(111,'2222')";
$res=Db::connect($connection)->table("test")->execute($sql);

 

展开阅读全文
加载中

作者的其它热门文章

打赏
1
0 收藏
分享
打赏
2 评论
0 收藏
1
分享
返回顶部
顶部