PHP / SQLite - 将表从磁盘复制到内存

2023-11-21

我的硬盘上有一个 sqlite3 数据库(file.db),有 5 个表。 我想将其中 3 个表复制到内存数据库 (:memory:)。

有没有一种简单的方法可以使用 PHP5 的 PDO 格式来做到这一点?


不是特定于 pdo 的解决方案,对于您的情况可能足够也可能不够:

  • 创建一个:内存:数据库
  • Attach现有数据库文件
  • 创建表 ... AS SELECT * FROM ...
  • Detach数据库文件

编辑:一个例子
首先是存储在 mydb.sq3 中的示例数据库

<?php
$pdo = new PDO('sqlite:mydb.sq3');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->exec('CREATE TABLE foo(x INTEGER PRIMARY KEY ASC, y, z)');

$stmt = $pdo->prepare("INSERT INTO foo (x,y,z) VALUES (:x,:y,:z)");
$stmt->bindParam(':x', $x);
$stmt->bindParam(':y', $y);
$stmt->bindParam(':z', $z);

for($x=0; $x<100; $x++) {
    $y = $x*2;
    $z = $x*2+1;
    $stmt->execute();
}

现在我们有一个 :memory: 数据库并想要传输表 foo

<?php
$pdo = new PDO('sqlite::memory:');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->exec('ATTACH "mydb.sq3" as filedb');
$pdo->exec('CREATE TABLE bar AS SELECT * FROM filedb.foo');
$pdo->exec('DETACH filedb');

完毕。但是让我们看一下 sqlite_master 表

foreach($pdo->query('SELECT sql FROM sqlite_master') as $row) {
    echo $row['sql'];
}

这打印

CREATE TABLE bar(x INT,y,z)

INTEGER PRIMARY KEY ASC 声明丢失。不过可能就足够了......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP / SQLite - 将表从磁盘复制到内存 的相关文章

  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • SQLite .NET 性能,如何加快速度?

    在我的系统上 约 86000 个 SQLite 插入需要长达 20 分钟 意味着每秒约 70 个插入 我要做数百万 我怎样才能加快速度 对每一行的 SQLiteConnection 对象调用 Open 和 Close 会降低性能吗 交易有帮
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • iphone sqlite 静态链接?

    有人静态链接 sqlite 而不是使用动态链接 吗 我遇到的问题是 越狱手机的用户没有与普通 iPhone 所采用的 sqlite 版本相同的版本 因此导致崩溃 我假设在我的应用程序中静态链接已知版本的 sqlite 就是答案 我需要全文支
  • PayPal 网关已拒绝请求。安全标头无效(#10002:安全错误 Magento

    在 magento 中增加 PayPal 预付款 我已填写 magento admin 中的所有凭据 但是当我进入前端并单击 pay pal 按钮时 它给出了 PayPal 网关已拒绝请求 安全标头无效 10002 安全错误 我用谷歌搜索了
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • Boto3 仅获取特定区域的 S3 存储桶

    以下代码遗憾地列出了所有区域的所有存储桶 而不仅仅是指定的 eu west 1 我怎样才能改变这一点 import boto3 s3 boto3 client s3 region name eu west 1 for bucket in s
  • 自己颁发 JWT 令牌与使用 IdentityServer4(OIDC) 进行 Web API

    https identityserver4 readthedocs io en release intro support html 我目前在我的 Web api 中自己发行令牌JwtSecurityToken我使用标准 ASP NET C
  • 如何从 DataView 的列中获取值?

    我有一个数据视图定义为 DataView dvPricing historicalPricing GetAuctionData DefaultView 这是我尝试过的 但它返回名称 而不是列中的值 dvPricing ToTable Col
  • SQLAlchemy 可以自动从数据库模式创建关系吗?

    从带有外键的现有 SQLite 数据库开始 SQLAlchemy 可以自动构建关系 SQLAlchemy 类是通过自动创建的 table args autoload True 目标是轻松访问相关表中的数据 而无需手动一一添加所有关系 即不使
  • 为什么此代码会导致 Excel 无法正常关闭?

    为什么这行代码会导致Excel无法退出 Excel Range range Excel Range ws Cells 1 1 如果是因为转换的原因 那么这段代码不会导致同样的问题吗 Excel Worksheet ws Excel Work
  • 使用 LINQ 的多个或单个存储库

    我一直在阅读 Professional ASP NET MVC 1 0 书中的第 11 章 可测试设计模式 在本章的示例中 数据访问被分为多个存储库 IOrderRepository IProductRepository 等 这一切都有意义
  • 谷歌地理编码停止为乌克兰克里米亚工作

    我发现了一个非常奇怪的问题 地理编码 API 突然停止支持克里米亚坐标 示例 辛菲罗波尔市 但它适用于乌克兰和俄罗斯的任何其他地方 示例 乌克兰基辅 最近API运行正常 请教一下 是不是因为乌克兰的政治事件而对谷歌进行了限制 该服务是否应该
  • 如何在 Vue Router v4 中为自定义元字段声明 TypeScript 类型接口?

    With Vue 路由器版本 4 目前是在 vue router next repo 的 beta 11 中 有一个文档页 about 如何使用 TypeScript 定义元字段自定义类型接口 declare module vue rout
  • 如何比较 C 中的多字节字符

    我尝试解析文本并在其中找到一些字符 我使用下面的代码 它适用于普通字符 例如abcdef但它不适用于 GCC 给出编译警告 我应该做什么来工作 Code include
  • HTTP 与 Websockets 的开销对比

    我正在两端使用 node js 构建一个文件同步程序 与 Dropbox 不同 我需要有潜在的数千个客户端同时请求数据 这是我当前的系统 服务器通过 websocket 向客户端推送通知 文件已更新 客户端对下载进行排队并在空闲时发出 HT
  • 回形针和 xhr.sendAsBinary

    我使用回形针将文件添加到我的模型中 我想使用firefox 3 6的新功能 xhr sendAsBinary 通过 ajax 请求发送文件 以下是我如何构建我的请求 var xhr new XMLHttpRequest xhr open P
  • JWT 中的复杂声明

    The JWT RFC包含复杂数组似乎没有任何问题 例如 email email protected businesses businessId 1 businessName One roles admin accountant busin
  • 将 swift 可变参数公开给 Objective-C

    我目前正在开发一个快速动态框架 它将用于 Objective C 应用程序 我创建了这个方法 签名 public init buttons ActionButton code 然而 这个方法永远无法从使用该框架的 Objective C 应
  • 如何检查 Java 代码的汇编输出?

    我发现这个问题可以回答 C 的问题 如何从 gcc 中的 C C 源代码获取汇编程序输出 Java uses both bytecode and assembly language machine code It s a two step
  • 将参数从刚刚单击的 添加到 URL

    该场景是很多 html 文件 它们之间有很多链接 当我调用其中第一个 它将是索引 时 链接通过 URL 传递几个参数 我们可以将它们称为首选项 现在我希望 当单击页面的几个链接中的任何一个时 将添加这些参数 所以这个问题与其他问题类似 如何
  • 将 XML 映射到 Java 中的对象

    假设我有一个名为Test 像这样 public class Test private String testId private String description private String department public Tes
  • Facebook Messenger 应用程序链接 [iOS]

    我正在创建一个 iOS 应用程序 我想在其中集成 Facebook Messenger 以便用户互相发送消息 我尝试过通过 fb messenger user thread user id 进行深度链接 它按预期工作 当我通过应用程序打开
  • Android-广播接收器和意图过滤器

    我是 android 平台的新手 请帮助我了解广播接收器和意图过滤器在 android 中的行为方式 请用简单的行或示例进行解释 提前致谢 广播接收器是 Android 项目中的一个类 负责接收其他活动通过使用发送的所有意图android
  • #define 指令中的 Inno Setup 字符串连接

    Inno Setup 网站是否未能记录 define指令还是我在某个地方错过了 是否允许使用已定义的字符串进行定义并将它们连接起来 define MyApp ABC define MyAppVersion 1 2 1 define MyFo
  • PHP / SQLite - 将表从磁盘复制到内存

    我的硬盘上有一个 sqlite3 数据库 file db 有 5 个表 我想将其中 3 个表复制到内存数据库 memory 有没有一种简单的方法可以使用 PHP5 的 PDO 格式来做到这一点 不是特定于 pdo 的解决方案 对于您的情况可