SQLite3::exec

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::exec对给定数据库执行无结果查询

说明

public SQLite3::exec(string $query): bool

对给定数据库执行无结果查询。

注意: SQLite3 可能会在执行查询时需要创建 » 临时文件,因此相应的目录可能需要可写。

参数

query

要执行的 SQL 查询(通常是 INSERT、UPDATE 或 DELETE 查询)。

返回值

如果查询成功,返回 true,失败则返回 false

示例

示例 #1 SQLite3::exec() 示例

<?php
$db
= new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE bar (bar TEXT)');
?>

添加注释

用户贡献注释 2 个注释

alexandre dot schmidt at gmail dot com
8 年前
我一直在收到“数据库锁定”错误,直到我发现 sqlite3 的一些功能必须使用 SQL 特殊指令(即使用 PRAGMA 关键字)设置。例如,解决我“数据库锁定”问题的方法是将 journal_mode 设置为 'wal'(它默认为 'delete',如这里所述:https://www.sqlite.org/wal.html(请参阅“激活和配置 WAL 模式”)。

所以基本上我需要做的是创建数据库连接并使用 SQL 语句设置 journal_mode。示例

<?php
$db
= new SQLite3('/my/sqlite/file.sqlite3');
$db->busyTimeout(5000);
// WAL 模式对并发性有更好的控制。
// 来源: https://www.sqlite.org/wal.html
$db->exec('PRAGMA journal_mode = wal;');
?>

希望这有帮助。
synnus
2 年前
<?php
$db
->exec('PRAGMA journal_mode = wal;');
$db->exec('PRAGMA synchronous = NORMAL;');
$db->exec('PRAGMA schema.taille_cache = 16000;');
?>
To Top