MySQL: 错误:无法打开文件 error2

4
以下是我的步骤:
1. 使用bank(我的数据库);
2. SOURCE d:\ Nitro \ testing \ SQL \ Books_mysql \ Cookbook \ recipes \ tables \ cow.sql
当我试图查找特定的.sql文件,即'cow.sql'时,会显示以下错误:
ERROR:
无法打开文件'd:\Nitro\testing\SQL\Books_mysql\Cookbook\recipes\tables\cow.sql',错误:2
“cow.sql”的内容如下:
#用于在线构建奶牛订购场景的表
DROP TABLE IF EXISTS cow_order;
#@ _CREATE_COW_ORDER_TABLE_
CREATE TABLE cow_order
(
 id          INT UNSIGNED NOT NULL AUTO_INCREMENT,
 # cow color, figurine size, and accessory items
 color VARCHAR(20),
 size ENUM('small','medium','large') DEFAULT 'medium',
 accessories SET('cow bell','horns','nose ring','tail ribbon')
              DEFAULT 'cow bell,horns',
 # customer name, street, city, and state (abbreviation)
 cust_name   VARCHAR(40),
 cust_street VARCHAR(40),
 cust_city   VARCHAR(40),
 cust_state  CHAR(2),
 PRIMARY KEY (id)
 );
 #@ _CREATE_COW_ORDER_TABLE_

 # Add some orders to the table

 INSERT INTO cow_order (color, size, accessories,
                   cust_name, cust_street, cust_city, cust_state)
 VALUES
 ('Black & White','large','cow bell,nose ring',
 'Farmer Brown','123 Elm St.','Bald Knob','AR');

 SELECT * FROM cow_order\G

 DROP TABLE IF EXISTS cow_color;
 #@ _CREATE_COW_COLOR_TABLE_
 CREATE TABLE cow_color (color CHAR(20));
 #@ _CREATE_COW_COLOR_TABLE_

 INSERT INTO cow_color (color)
 VALUES
 ('Black'),
 ('Brown'),
 ('Cream'),
 ('Black & White'),
 ('Red & White'),
 ('Red'),
 ('See-Through');

 SELECT * FROM cow_color;

2
你能发布 cow.sql 的内容吗? - luksch
3个回答

6

您似乎在使用Windows系统。在此情况下,您需要使用正斜杠(/)!

USE bank;

SOURCE D:/Nitro/testing/SQL/Books_mysql/Cookbook/recipes/tables/cow.sql;

另外,您可以使用转义反斜杠:

SOURCE D:\\Nitro\\testing\\SQL\\Books_mysql\\Cookbook\\recipes\\tables\\cow.sql;

您不应该在路径周围加上引号。文件必须存在于给定位置,并且必须可被mysql进程读取。 - luksch
我没有使用任何引号,这个文件通常是通过mysql进程读取的,使用如下命令:mysql bank < d:\Nitro\testing\SQL\Books_mysql\Cookbook\recipes\tables\cow.sql - fuser
完成了...是我的错...d:\Nitro\тестирование\SQL\Books_mysql\Cookbook\recipes\tables\cow.sql 我使用这段代码,但是由于俄语单词问题,该命令无法正常工作。当我使用这个路径 d:\Nitro\testing\SQL\Books_mysql\Cookbook\recipes\tables\cow.sql 并用英文写俄语单词"тестирование",一切都正确完成了。感谢你的帮助! - fuser
1
我很高兴它解决了。如果你的问题完全解决了,请别忘了点赞并接受这个答案。 - luksch
此外,source命令必须以分号结尾,如上所示。 - Jeff
@Jeff,我无法加载一个我知道存在的文件。我不得不删除分号才能让它工作! - CJ Dennis

0
在Windows中,路径使用正斜杠(/),并提供完整路径。 例如: source C:/wamp64/bin/mariadb/mariadb10.4.10/bin/goblissl_oc.sql

0
请注意,如果路径中有空格,请将其保留为空格,无需转义。至少在Mac上是这样的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接