Импорт файла SQL в ошибку XAMPP. Возможная ошибка кода? - PullRequest
0 голосов
/ 19 апреля 2020

Мне было интересно, может ли кто-нибудь мне помочь. Я беру 2-й класс веб-программирования, и мы работаем с MySQL. Учитель предоставил код, который можно использовать для создания базы данных SQL. Я скопировал и вставил код в соответствии с указаниями и продолжил импортировать его в XAMPP. Тем не менее, когда я получаю, я получаю эту ошибку SQLImportError

Я в растерянности, что делать. Учитель был совершенно и совершенно бесполезен (он сказал, что не видит, в чем проблема). Может ли кто-нибудь помочь мне найти проблему.

Я включил код. Спасибо всем, кто может помочь

DROP DATABASE IF EXISTS my_guitar_shop1;
CREATE DATABASE my_guitar_shop1;
USE my_guitar_shop1;  -- MySQL command

CREATE TABLE categories (  
     categoryID       INT(11)        NOT NULL   AUTO_INCREMENT,  
     categoryName     VARCHAR(255)   NOT NULL,  
     PRIMARY KEY (categoryID)
     );

CREATE TABLE products (  
     productID        INT(11)        NOT NULL   AUTO_INCREMENT,  
     categoryID       INT(11)        NOT NULL,  
     productCode      VARCHAR(10)    NOT NULL   UNIQUE,  
     productName      VARCHAR(255)   NOT NULL,  
     listPrice        DECIMAL(10,2)  NOT NULL,  PRIMARY KEY (productID)
     );

CREATE TABLE orders (  
     orderID        INT(11)        NOT NULL   AUTO_INCREMENT,  
     customerID     INT            NOT NULL,  
     orderDate      DATETIME       NOT NULL,  PRIMARY KEY (orderID)
     );

INSERT INTO categories VALUES
(1, 'Guitars’),
(2, 'Basses’),
(3, 'Drums’);

INSERT INTO products VALUES
(1, 1, 'strat', 'Fender Stratocaster', '699.00’),
(2, 1, 'les_paul', 'Gibson Les Paul', '1199.00’),
(3, 1, 'sg', 'Gibson SG', '2517.00’),
(4, 1, 'fg700s', 'Yamaha FG700S', '489.99’),
(5, 1, 'washburn', 'Washburn D10S', '299.00’),
(6, 1, 'rodriguez', 'Rodriguez Caballero 11', '415.00’),
(7, 2, 'precision', 'Fender Precision', '799.99’),
(8, 2, 'hofner', 'Hofner Icon', '499.99’),
(9, 3, 'ludwig', 'Ludwig 5-piece Drum Set with Cymbals', '699.99’),
(10, 3, 'tama', 'Tama 5-Piece Drum Set with Cymbals', '799.99');

GRANT SELECT, INSERT, DELETE, UPDATE
ON my_guitar_shop1.*
TO mgs_user@localhost
IDENTIFIED BY 'pa55word’;

GRANT SELECT
ON products
TO mgs_tester@localhost
IDENTIFIED BY 'pa55word';

1 Ответ

2 голосов
/ 19 апреля 2020

Кажется, вы (или ваш учитель) в какой-то момент скопировали это в Word или аналогичный текстовый процессор. Никогда не делайте этого с кодом! Это потому, что текстовые процессоры часто «услужливо» изменяют ваш текст некоторыми способами, например, заменяя простые кавычки, такие как ', на типографически лучшие, такие как . Обратите внимание, что ' и - это разные символы! Это хорошо для текста, написанного для людей, но не так хорошо для текста, написанного для компьютеров, которые ожидают одного очень специфического c символа и не похожего визуально, но другого.

Это то, что произошло и здесь. Посмотрите на это утверждение, например:

INSERT INTO categories VALUES
(1, 'Guitars’),
(2, 'Basses’),
(3, 'Drums’);

Вы заметили это? Заключительная кавычка всегда неверна!

enter image description here

Итог, никогда не копируйте код в текстовый процессор . Вместо этого используйте обычный редактор, такой как Notepad ++ или любую IDE, которую вы используете для написания своего кода.

Чтобы исправить вашу непосредственную проблему, попросите своего учителя снова ввести правильный код (при условии, что это не ваш учитель испортил) поднимите кавычки в первую очередь!) или вставьте испорченную версию в ваш редактор (не текстовый процессор) и выполните поиск и замену, заменив все вхождения на '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...