我正在使用MySQL Workbench 6.2 [Windows7],我想用我的所有步骤创建一个脚本。在这些步骤中,我有一系列.sql文件存储在我的计算机上,用于创建和填充表。 我想从查询选项卡运行这些文件,但每次我使用此命令时:
来源C:/ Users / [用户名] /Desktop/sampdb/create_president.sql;
我收到错误1064,其中说
“错误代码:1064。您的错误 SQL语法;查看与MySQL服务器对应的手册 在'mysql>附近使用正确语法的版本资源 C:/ Users / [username] /Desktop/sampdb/create_president.sql at line 1“
谁能告诉我我做错了什么?如何在MySQL Workbench脚本中引用.sql文件?
我应该在MySQL Workbench而不是source
中使用哪些代码?我试过LOAD DATA LOCAL INFILE 'C:/Users/[username]/Desktop/sampdb/create_president.sql';
但它也没用。知道什么可能是错的吗?
*仅为了解更多信息,create_president.sql包含以下代码:
DROP TABLE IF EXISTS president;
#@ _CREATE_TABLE_
CREATE TABLE president
(
last_name VARCHAR(15) NOT NULL,
first_name VARCHAR(15) NOT NULL,
suffix VARCHAR(5) NULL,
city VARCHAR(20) NOT NULL,
state VARCHAR(2) NOT NULL,
birth DATE NOT NULL,
death DATE NULL
);
答案 0 :(得分:3)
source
命令是MySQL Workbench不支持的纯(命令行)客户端特定命令。只需加载sql文件即可运行它。
更新(在您编辑问题后)
您的SQL文件包含DDL。 LOAD DATA INFILE
但只导入DML。 MySQL命令行客户端的SOURCE
命令没有替代品。然而,在我们的待办事项列表中支持MySQL Workbench。
答案 1 :(得分:3)
您可以在 MySqlWorkBench 上运行脚本,如下所示:
从文件菜单中选择“运行SQL脚本”。
然后,在弹出窗口中,从您的计算机上打开脚本。
然后选择要执行此脚本的模式名称。 (之前我使用命令“create database REGISTRY_LOCAL1;”创建了模式)
然后执行脚本。
答案 2 :(得分:0)
只需删除引号和分号即可。命令源不是SQL,它不喜欢引号和分号。 :)
source /Users/[username]/Documents/company/department.sql