2013-08-09 2 views
1

Я экспортировал БД с помощью dbForge (v6) и весь сценарий имеет проблемы с этим:мой синтаксис SQL ошибка

USE `global-cms-content2`; 
CREATE TABLE `global-cms-content2`.umbracorelationtype (
    ID int(11) NOT NULL AUTO_INCREMENT, 
    DUAL bit(1) NOT NULL, 
    PARENTOBJECTTYPE char(36) NOT NULL, 
    CHILDOBJECTTYPE char(36) NOT NULL, 
    NAME varchar(255) NOT NULL, 
    ALIAS varchar(100) DEFAULT NULL, 
    PRIMARY KEY (ID) 
) 
ENGINE = INNODB 
AUTO_INCREMENT = 2 
AVG_ROW_LENGTH = 16384 
CHARACTER SET utf8 
COLLATE utf8_general_ci; 

Ошибка:

1 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 'DUAL bit(1) NOT NULL, 
    PARENTOBJECTTYPE char(36) NOT NULL, 
    CHILDOBJECTTYPE ' at line 3 SQL2.sql 2 1 

То же ошибка происходит, даже когда я создаю таблицу вручную, используя редактор.

Почему MySQL не работает со своими скриптами? Любые идеи?

UPDATE:

Это сделал это!

USE `global-cms-content3`; 
CREATE TABLE `global-cms-content3`.umbracorelationtype (
    `ID` int(11) NOT NULL AUTO_INCREMENT, 
    `DUAL` bit(1) NOT NULL, 
    `PARENTOBJECTTYPE` char(36) NOT NULL, 
    `CHILDOBJECTTYPE` char(36) NOT NULL, 
    `NAME` varchar(255) NOT NULL, 
    `ALIAS` varchar(100) DEFAULT NULL, 
    PRIMARY KEY (ID) 
) 
ENGINE = INNODB 
AUTO_INCREMENT = 2 
AVG_ROW_LENGTH = 16384 
CHARACTER SET utf8 
COLLATE utf8_general_ci; 

До сих пор не знает, почему скрипт экспорта или резервное копирование БД сценарий не заботиться о зарезервированных ключевых словах ... в любом случае

ответ

3

Слово DUAL является ключевым словом. См. Keyword list. Попробуйте процитировать слово как указано ниже:

CREATE TABLE `global-cms-content2`.umbracorelationtype (
    ID int(11) NOT NULL AUTO_INCREMENT, 
    `DUAL` bit(1) NOT NULL, 
    PARENTOBJECTTYPE char(36) NOT NULL, 
    CHILDOBJECTTYPE char(36) NOT NULL, 
    NAME varchar(255) NOT NULL, 
    ALIAS varchar(100) DEFAULT NULL, 
    PRIMARY KEY (ID) 
) 
+0

Yepp !! Получил это wrok – Nick

+0

@ Ник Я рад, что смогу вам помочь. Не забудьте принять ответ;) – Parado

+0

Конечно. Извините длинный .. ах .. задержка – Nick

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