Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql源代码命令给出错误2和错误17?_Mysql_Database - Fatal编程技术网

mysql源代码命令给出错误2和错误17?

mysql源代码命令给出错误2和错误17?,mysql,database,Mysql,Database,在cmd中尝试此命令时: SOURCE D:\books.sql; 我得到这个错误: 错误: 无法打开文件“D:\books.sql;”,错误:2 我在互联网上搜索了这个,到目前为止我发现这个错误不知何故意味着没有这样的文件或目录!!! 但我很确定我的文件就在那里! 谢谢 下面是books.sql中的代码: DROP DATABASE IF EXISTS books; CREATE DATABASE books; USE books; CREATE TABLE Authors (

在cmd中尝试此命令时:

SOURCE D:\books.sql;
我得到这个错误:

错误: 无法打开文件“D:\books.sql;”,错误:2

我在互联网上搜索了这个,到目前为止我发现这个错误不知何故意味着没有这样的文件或目录!!! 但我很确定我的文件就在那里! 谢谢

下面是books.sql中的代码:

DROP DATABASE IF EXISTS books;

CREATE DATABASE books;

USE books;

CREATE TABLE Authors
(
   AuthorID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(30) NOT NULL,
   LastName varchar(30) NOT NULL
)                 ;
CREATE TABLE Titles
(
   ISBN varchar(20) NOT NULL PRIMARY KEY,
   Title varchar(100) NOT NULL,
   EditionNumber int NOT NULL,
   Copyright varchar(4) NOT NULL
)             ;

CREATE TABLE AuthorISBN
(
   AuthorID int NOT NULL,
   ISBN varchar(20) NOT NULL,
   FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID),
   FOREIGN KEY (ISBN) References Titles(ISBN)
)            ;

INSERT INTO Authors (FirstName,LastName) VALUES ('Paul','Deitel')           ;
INSERT INTO Authors (FirstName,LastName) VALUES ('Harvey','Deitel')     ;
INSERT INTO Authors (FirstName,LastName) VALUES ('Abbey','Deitel')     ;
INSERT INTO Authors (FirstName,LastName) VALUES ('Michael','Morgano')    ;
INSERT INTO Authors (FirstName,LastName) VALUES ('Eric','Kern')     ;


INSERT INTO Titles (ISBN,Title,EditionNumber,Copyright) VALUES ('0132152134','Visual Basic 2010 How to Program',5,'2011')          ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (1,'0132152134')     ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (2,'0132152134') ;

INSERT INTO Titles (ISBN,Title,EditionNumber,Copyright) VALUES ('0132151421','Visual C# 2010 How to Program',4,'2011')  ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (1,'0132151421')      ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (2,'0132151421')      ;

INSERT INTO Titles (ISBN,Title,EditionNumber,Copyright) VALUES ('0132575663','Java How to Program',9,'2012')   ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (1,'0132575663')                                               ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (2,'0132575663')                                       ;

INSERT INTO Titles (ISBN,Title,EditionNumber,Copyright) VALUES ('0132662361','C++ How to Program',8,'2012')     ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (1,'0132662361')                                                  ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (2,'0132662361')                                                 ;

INSERT INTO Titles (ISBN,Title,EditionNumber,Copyright) VALUES ('0132404168','C How to Program',6,'2010')     ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (1,'0132404168')                                             ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (2,'0132404168')                                       ;

INSERT INTO Titles (ISBN,Title,EditionNumber,Copyright) VALUES ('013705842X','iPhone for Programmers: An App-Driven Approach',1,'2010')        ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (1,'013705842X')                                                    ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (2,'013705842X')                                                    ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (3,'013705842X')                                                    ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (4,'013705842X')                                                    ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (5,'013705842X')                                                    ;

INSERT INTO Titles (ISBN,Title,EditionNumber,Copyright) VALUES ('0132121360','Android for Programmers: An App-Driven Approach',1,'2012')        ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (1,'0132121360')                                                    ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (2,'0132121360')                                                    ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (3,'0132121360')                                                    ;
INSERT INTO AuthorISBN (AuthorID,ISBN) VALUES (4,'0132121360')                                                    ;
在中间,我用分号测试它,结果是:

ERROR 1010 (HY000): Error dropping database (can't rmdir '.\books\', errno: 17)
似乎发生此错误是因为第1行。
现在该怎么办

既然你已经自己回答了“来源问题”,我就试着帮你回答第二部分

在内部,mysql数据库由一个目录表示,在这个目录中有数据库文件。现在,当您删除数据库时,mysql首先删除文件,最后一步将删除目录

现在有两种情况会导致错误17:

  • 对该目录的权限不足
  • 未由mysql管理的剩余文件

  • 因此,我将执行以下步骤:首先检查您在该目录上的权限,如果您确信这些权限正确,请尝试再次运行您的示例。如果这不起作用,请检查目录
    path/to/mysql/books
    中与mysql无关的任何文件,并手动删除它们。在此之后,您应该能够执行
    DROP数据库(如果存在)命令。

    最好在文件中发布代码……我认为这与代码无关。我从一本书中抓取了密码。但为了确保我会添加它。谢谢。您是从命令提示符下运行它的吗?如果您指的是“sourcebooks.sql”是的。我从cmd运行它(我在第一行中提到过)。@saeed在问题中,您同时提到book.sql和books.sql。您确定使用了正确的文件名吗?谢谢,是的,这是解决方案。我试图将drop命令授予我的用户,但不知何故,我做得不对,没有注意到!