MySQL多CREATE TABLE语法有帮助吗?

rlb*_*usa 3 mysql scripting create-table

我正在尝试编写一个创建多个表的MySQL脚本.我有:

CREATE TABLE `DataBase1`.`tbl_this`(
...
);
CREATE TABLE `DataBase1`.`tbl_that`(
...
);
... (14 more) ...
Run Code Online (Sandbox Code Playgroud)

但是,只执行第一个CREATE TABLE语句.我没有语法错误.嗯,我错过了MSSQL相当于GO?我在这做错了什么; 我怎么让这个宝宝跑完所有的桌子?

Bil*_*win 6

你是如何执行这个脚本的?

如果您尝试以编程方式运行它,您应该知道MySQL API默认情况下一次只执行一个语句.您不能将它们与分号串在一起,并期望它运行所有语句.

您可以CREATE TABLE在循环中单独执行每个语句,或者您可以通过将其作为输入提供给mysql命令行客户端来运行脚本.

它并不像在应用程序中编写通用脚本运行器类那样容易,因为完整的脚本语法包含许多极端情况.

请参阅我在PHP中加载.sql文件的答案中的角落案例示例.


Flo*_*ann 4

创建表语法看起来不错。您用来执行 SQL 的工具可能只执行第一条语句。