錯誤情景:在調用TP5的insert方法,插入pgsql表的時候,報錯:fields not exists:[id]php
排查緣由:mysql
1.已根據網上的教程,運行了tp5/thinkphp/connector/pgsql.sql,開啓了php版本里面關於pgsql的兩個dll擴展初步判斷應該是框架的問題sql
2.tp版本是5.0,因而打算用較高的tp版本,進行insert/save方法插入數據,還行不行,用getTableFields()方法也只能獲取到mysql的表字段而不能獲得pgsql的表字段,可是用框架的count()和select()方法,是沒啥問題的thinkphp
解決辦法:框架
在tp5中,save,insert,select,都是框架封裝的方法,對於mysql是比較友好的,可是估計是框架緣由,pgsql在使用這些方法時,有的方法用不了,因此只能使用原始的解決辦法,使用sql執行ide
$sql="insert into test(id,name) values(111,'2222')"; $res=Db::connect($connection)->table("test")->execute($sql);