首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用PHP批量执行包含数千条语句的SQL文件?

如何使用PHP批量执行包含数千条语句的SQL文件?
EN

Stack Overflow用户
提问于 2018-06-10 22:13:19
回答 1查看 238关注 0票数 0

我有一个.sql文件,其中包含一些TRUNCATEDROP TABLE IF EXISTSCREATE TABLE语句以及数以千计的INSERTUPDATE语句。

我尝试使用PHP批量执行文件中的所有语句,如下所示:

代码语言:javascript
复制
$sql = file_get_contents('path/to/sql/file.sql');
$link->($sql);

其中$link是有效的MySQLi DB链接。我也尝试过用$link->multi_query($sql)替换$link->($sql),但似乎都不起作用。

如果有什么不同的话,我尝试在装有PHP7.1和MariaDB 15.1的Windows10上的XAMPP本地主机环境中这样做。

有人知道为什么这会导致问题而不起作用吗?

在PHP中执行包含数千条语句的SQL文件的最佳方式是什么?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-06-11 03:50:15

莱恩,再次感谢你的建议。正如您所建议的,直接在SQL文件上运行mysql命令是可行的。

下面的方法对我很有效:

代码语言:javascript
复制
shell_exec('C:\\xampp\\mysql\\bin\\mysql.exe -h localhost -u root -ppassword -D db-name "SELECT * FROM table-name;"');

请注意,您不希望在-p选项和密码本身之间有空格。如果您没有密码,那么只需完全删除-p选项。

编辑:上面的示例命令是一个非常随意的命令,用于演示运行mysql命令。如果您想读取和执行一个文件中的一组SQL语句,则需要更多的内容:

代码语言:javascript
复制
shell_exec('C:\\xampp\\mysql\\bin\\mysql.exe -h localhost -u root -ppassword -D db-name < C:\\xampp\\htdocs\\path\\to\\file.sql');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50784584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档