php创建sqlite数据库后,增加内容会生成journal文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php创建sqlite数据库后,增加内容会生成journal文件相关的知识,希望对你有一定的参考价值。

以前php创建sqlite数据库后,增加内容不会生成journal文件,可现在都有出现,没办法对数据库进行操作,php运行环境在win7 iis7.5下,php脚本配置和以前一样,就是系统盘格式化不一样了,现在是NTFS,以前是FAT32,谁知道怎么可以去掉这个文件
php版本是5.2.9-2的,生成出来的sqlite数据库是2.8
一楼,我用的是IIS,不是apache
二楼,sqlite是2.8的,我的还没到3.0
代码就是这样
$conn=@sqlite_open("data.db");
@sqlite_query($conn,"CREATE TABLE [info](
[id] INTEGER PRIMARY KEY NULL,
[content] TEXT NULL
);");
@sqlite_close($conn);
这样写会生成journal,单$conn=@sqlite_open("data.db");可以生成文件,不会有journal.

sqlite的事务特性,journal文件是事务开始产生的,直到整个事务结束才会消失,你在完成一个事务后,必须提交这次事务才能生效,比如PHP手册里的示例:
unlink(\'mysqlitedb.db\');
$db = new SQLite3(\'mysqlitedb.db\');
$stmt = $db->prepare(\'SELECT bar FROM foo WHERE id=:id\');
$stmt->bindValue(\':id\', 1, SQLITE3_INTEGER);
$result = $stmt->execute();
后边加个关闭连接的语句试试:$db->close();
如果还不行,就不太清楚了,试试升级下sqlite。
参考技术A MARK一次 对这个方面不太了解 参考技术B .journal是SQLite的回滚日志文件,更新数据库时就会产生,自己百度一下。 参考技术C 参考答案: 人的一生会遇到两个人,一个惊艳了时光,一个温柔了岁月。

以上是关于php创建sqlite数据库后,增加内容会生成journal文件的主要内容,如果未能解决你的问题,请参考以下文章

pycham database查看db.sqlites文件 无内容解决方法

sql server sql语句创建序列怎么写?

dedecms的使用,栏目的创建,文章的创建,

Core Data SQLite 存储在更新后变为只读

安卓手机开发,创建SQlite数据库后,默认路径是存储在哪?

SQLITE 和自动索引