我有一些使用 SQL Server 2005 的经验,并且编写过许多只有 BEGIN 语句和 END 语句的脚本。我可以使用循环、游标等逻辑。但是,如果不创建存储过程,我似乎无法在 MySQL 中执行此操作。我知道 MySQL 中的存储过程是新的,可能不如 SQL Server 那样强大,但无论如何,有没有办法创建一个通用脚本,我知道我只想运行一次,这样我就不必返回到我的数据库并稍后删除所有这些存储过程?
为了澄清一点我想做的是创建一个脚本来创建多个 talbes,例如
BEGIN
CREATE TABLE foo(id INT, data VARCHAR(100));
CREATE TABLE test(t_id INT, data VARCHAR(50));
END;
这在 MySQL 中可能吗?
最佳答案
您不需要 MySQL 中的 begin
和 end
关键字,以下内容即可工作:
CREATE TABLE foo(id INT, data VARCHAR(100));
CREATE TABLE test(t_id INT, data VARCHAR(50));
您还可以使用 if notists
子句来确保在表已存在时不会出现错误:
CREATE TABLE IF NOT EXISTS foo(id INT, data VARCHAR(100));
CREATE TABLE IF NOT EXISTS test(t_id INT, data VARCHAR(50));
关于mysql - 您可以创建一个不是存储过程的通用脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1508859/