Fleaphp中Sqlite驱动程序中的Bug

对于数据表定义式未定义主键或未定义主键为自增字段时,LAST_INSERT_ID 函数未定义的错误。
用的sqlite2,驱动用的sqlite.php,调用create()出错,并没有手写sql。后续我将对代码进行研究争取解决此问题
具体Bug再现代码为:

Code
require(./FLEA/FLEA.php);
FLEA
::init();

// 准备数据库连接信息
$dsn = array(
driver => sqlite,
db => test.db,
);

// 指定数据库连接设置,TableDataGateway 会自动取出 dbDSN 设置来连接数据库
set_app_inf(dbDSN, $dsn);

// 初始化 FleaPHP 运行环境
FLEA::init();

// 由于 FLEA_Db_TableDataGateway 并不是自动载入的,因此需要明确载入
FLEA::loadClass(FLEA_Db_TableDataGateway);

// 从 FLEA_Db_TableDataGateway 派生 Posts 类
class Posts extends FLEA_Db_TableDataGateway
{
// 指定数据表名称
var $tableName = posts;
// 指定主键字段名
var $primaryKey = post_id;
}

// 构造 Posts 实例
$modelPosts =& new Posts();
// 创建一条新记录,并返回新记录的主键值
$row = array(
title => First post,
body => First post body,
);
$newPostId = $modelPosts->create($row);//这句会出问题,请问如何解决?
echo $newPostId;
// 读取刚刚创建的新记录
$post = $modelPosts->findAll();
// 输出记录内容
dump($post);
上一篇:docker 安装mysql redis kafka


下一篇:数据库是datetimeoffset(7),C#是DateTimeOffset类型,查询的时候需要注意时区