sqlite 使用PHP PDO在内存中创建MySQL数据库[复制]

vshtjzan  于 2023-03-23  发布在  SQLite
关注(0)|答案(1)|浏览(133)

此问题在此处已有答案

How do I make a MySQL database run completely in memory?(7个答案)
4小时前关门了。
我正在编写一个库来比较两个MySQL数据库。
源可以是SQL字符串、SQL文件或MySQL数据库连接。
使用正则表达式来解析表/更改/索引形式的源代码是可怕的,有很多可能的语法。
我有一个脚本,可以从任何来源生成一个SQL字符串,现在我需要将这个SQL导入到一个时态数据库中,以启动DESCRIBE表并解析这个文本。这比原始来源要简单和干净得多。
有没有什么方法可以从PHP PDO创建一个内存/时态MySQL数据库,而不需要用户和密码凭证?
我有相同的脚本SQLite,允许创建内存连接:

$db1 = new PDO('sqlite::memory:');

$db1->exec($sql);

$tables = [];

foreach ($db1->query('.tables') as $table) {
    $q = $db1->prepare('.schema ?');
    $q->execute([$table]);

    $tables[$table] = $q->fetchAll();
}

有很多更容易比较的数据库。
如何使用MySQL做到这一点?
谢谢:)

nnvyjq4y

nnvyjq4y1#

正如我刚刚了解到的,PDO's MySQL driver只连接到服务器。
PHP无法在内存中建立与MySQL兼容的数据库。
如果您想要其中之一,SQLite是显而易见的选择,但请记住,SQL语法和可能性存在显着差异。

相关问题