【发布时间】:2017-04-26 22:34:37
【问题描述】:
我有如下代码:
$import = "CREATE TABLE foo..."; // an SQL import containing some CREATE TABLE, ALTER TABLE, etc.
$result = $mysqli->query($import) or die ($mysqli->error);
如何找到在上一个 SQL 查询(即$import 语句)中创建的所有表的名称?我想知道 MySQL 中是否有一种特殊的方法可以做到这一点,而不是仅仅搜索 CREATE TABLE 的语句,这有点像一个肮脏的 hack。
【问题讨论】:
-
不知道有没有别的办法。尝试获取查询前后的表列表并进行比较。
-
@bansi 嗯,是的,我在想也许会有类似
insert_id的东西,但是对于桌子......我想我对这个有点过于乐观了。 -
如果你写了查询,你应该知道
-
@Dagon 我只是为了论证的缘故在这里展示了一个静态查询,但实际上它来自一个 SQL 导入文件,因此本质上非常动态。
-
丑陋的正则表达式?
标签: php mysql sql create-table