【问题标题】:How can I import multiple mysql queries exported as a text with php?如何使用 php 导入多个导出为文本的 mysql 查询?
【发布时间】:2017-03-25 08:05:01
【问题描述】:

我正在尝试导入多个由 php 导出为文本的 mysql 查询。 导入的查询看起来像

CREATE TABLE `custom` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`input_type` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`custom_section` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`custom_value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`custom_price` decimal(5,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE `custom_section` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`section_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`section_type` varchar(255) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

.........

该列表还有 20 个查询。

现在,我正在使用

$mysqli->query("CREATE TABLE .....");

为每个查询做这项工作。有一个更好的方法吗?我觉得必须有更简单的方法来实现这一点。我不希望导入 .sql 表单,因为 .sql 文件太容易下载。

谢谢。

【问题讨论】:

  • 您可以使用普通的 IDE(如 toad 或 sqlworkbench 并将代码添加为 .SQL 文件)
  • $mysqli->query(file_get_contents('exported.txt'));?我的意思是,它只是 1 次,对吗?

标签: php mysql database mysqli


【解决方案1】:

如果你使用mysqli,你可以使用mysqli_multi_query。

所以,用所有的 sql 查询创建一个变量,后面跟着 ;并使用 multi_query

$sql = "CREATE ... ; CREATE .....; CREATE ..... ; ";
$mysqli->multi_query($sql);

应该可以的。

【讨论】:

    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    相关资源
    最近更新 更多