StartMVC开发手册

可以快速上手的开发文档

手册目录

事务操作及维护

事务操作Transaction

方法: inTransaction(),beginTransaction(),commit(),rollBack()

// 开始事务
Db::transaction();

try {
    // 执行多个操作
    $data = [
        'title' => 'new title',
        'status' => 2
    ];
    
    // 更新操作
    Db::table('test')->where('id', 10)->update($data);
    
    // 插入操作
    Db::table('test_log')->insert([
        'action' => 'update',
        'table' => 'test',
        'record_id' => 10,
        'data' => json_encode($data),
        'time' => date('Y-m-d H:i:s')
    ]);
    
    // 所有操作成功,提交事务
    Db::commit();
} catch (Exception $e) {
    // 发生错误,回滚事务
    Db::rollBack();
    // 记录错误信息
    Logger::error('事务处理失败: ' . $e->getMessage());
    throw $e; // 可选:将异常继续抛出
}

结构维护Structure

方法有: truncate(),drop(),optimize(),analyze(),check(),checksum(),repair()


// 检查表是否有错误
$result = Db::table('users')->check();
// 优化表结构,整理碎片,提高查询效率
$result = Db::table('users')->optimize();
// 分析表结构,更新统计信息,有助于查询优化
$result = Db::table('users')->analyze();
// 计算表的校验和,用于验证数据完整性
$result = Db::table('users')->checksum();
// 尝试修复损坏的表
$result = Db::table('users')->repair();
// 清空表中的所有数据(比DELETE更快,会重置自增ID)
$result = Db::table('temp_data')->truncate();// 返回影响的行数
// 完全删除表结构和数据
$result = Db::table('old_table')->drop();// 返回影响的行数