1

dbForge (v6) を使用して DB をエクスポートしましたが、スクリプト全体に問題があります。

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 が独自のスクリプトで動作しないのはなぜですか? 何か案は?

アップデート:

これでできた!

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;

エクスポート スクリプトまたはバックアップ DB スクリプトが予約済みのキーワードを処理しない理由はまだわかりません... とにかく

4

1 に答える 1

3

DUALという言葉がキーワードです。キーワード リストを参照してください。以下のように単語を引用してみてください。

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)
)
于 2013-08-09T11:04:13.350 に答える