2013-07-15 2 views
4

Я пытался добавить таблицу в базу данных в MySQL с помощью командной строки:SQL ошибка командной строки

mysql -u Jon -p testdb --password=password < "C:\Users\Jon\Documents\Summer\Do\SQL\root.sql" 

Однако я получаю сообщение об ошибке, когда я печатаю выше:

ERROR 1064 (42000) at line 12: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR(255) DEFAULT NULL, Clearing VARCHAR(255) DEFAULT NULL, Globex VARCH' at line 2 

Я использовал dbForge создать файл SQL под названием root.sql:

SET NAMES 'utf8'; 

USE testdb; 

DROP TABLE IF EXISTS roottable; 
CREATE TABLE roottable 
    (
    ProductName VARCHAR(255) DEFAULT NULL, 
    Clearing VARCHAR(255) DEFAULT NULL, 
    Globex VARCHAR(255) DEFAULT NULL, 
    IsActive VARCHAR(255) DEFAULT NULL, 
    FloorId VARCHAR(255) DEFAULT NULL, 
    GroupId VARCHAR(255) DEFAULT NULL, 
    SubGroup VARCHAR(255) DEFAULT NULL, 
    ConversionFactor VARCHAR(255) DEFAULT NULL, 
    Id INT PRIMARY KEY AUTO_INCREMENT 
) 
ENGINE = INNODB 
CHARACTER SET utf8 
COLLATE utf8_general_ci; 
+1

Ваш синтаксис прав, я побежал его succsesfuly. –

+0

Я также просто успешно запускал этот 'root.sql' против недавно созданного' testdb' без ошибок. Я предполагаю, что у вас есть какой-то странный непечатаемый или символизированный символ пробела в вашем файле, который не копируется в ваш вопрос. Попробуйте просмотреть его в шестнадцатеричном редакторе. – eggyal

+0

ya i тоже, синтаксис правый –

ответ

0

Я думаю, что этот код должен выглядеть следующим образом:

SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0; 
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; 
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; 

CREATE SCHEMA IF NOT EXISTS `testdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ; 
USE `testdb`; 

DROP TABLE IF EXISTS `roottable`; 
CREATE TABLE `testdb`.`roottable` 
    (
    `ProductName` VARCHAR(255) DEFAULT NULL, 
    `Clearing` VARCHAR(255) DEFAULT NULL, 
    `Globex` VARCHAR(255) DEFAULT NULL, 
    `IsActive` VARCHAR(255) DEFAULT NULL, 
    `FloorId` VARCHAR(255) DEFAULT NULL, 
    `GroupId` VARCHAR(255) DEFAULT NULL, 
    `SubGroup` VARCHAR(255) DEFAULT NULL, 
    `ConversionFactor` VARCHAR(255) DEFAULT NULL, 
    `Id` INT NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY (`Id`) 
) 
ENGINE = InnoDB; 

SET [email protected]_SQL_MODE; 
SET [email protected]_FOREIGN_KEY_CHECKS; 
SET [email protected]_UNIQUE_CHECKS; 
+0

У меня такая же ошибка. –

1

это может быть смешно, но попытаться сохранить файл SQL в качестве utf8, откройте его с помощью notepad.exe, а затем сохранить как и выбрать затем utf8 выполнить запрос. есть.

 Смежные вопросы

  • Нет связанных вопросов^_^