0

mysql データベースにテーブルを作成していますが、エラーが発生しています...

    CREATE  TABLE IF NOT EXISTS `EC_TIMETABLE` (
  `S_ID` VARCHAR(30) NOT NULL PRIMARY KEY,
  `SKILLSET_ID` VARCHAR(30) NULL ,
    START_DT DATETIME NULL,
    END_DT DATETIME NULL,
    REPEAT TINYINT(1) NULL,
    ALL_DAY TINYINT(1) NULL,
    CLASS_DURATION INT NULL,
    COURSE_DURATION INT NULL,
    REPEAT_TYPE VARCHAR(30) NULL,
    REPEAT_EVERY INT NULL,
    REPEAT_DAYS VARCHAR(100) NULL,
    REPEAT_FROM DATE NULL,
    REPEAT_TO DATE NULL,
    COURSE_FEE INT NULL,
    ATTENDEE_MIN INT NULL,
    ATTENDEE_MAX INT NULL,
    SEARCH_KEY TINYTEXT NULL,
    FOREIGN KEY (`SKILLSET_ID` )
    REFERENCES `EC_SKILLSET` (`S_ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

しかし、それはエラーを与えます:

#1064- SQL 構文にエラーがあります。6 行目の 'REPEAT TINYINT(1) NULL, ALL_DAY TINYINT(1) NULL, CLASS_DURATION INT NULL' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

これを解決する方法..

4

3 に答える 3

3

REPEAT予約キーワードです。引き続き使用できますが、バックティックでラップする必要があります。

`REPEAT` TINYINT(1) NULL,

将来の首の痛みを避けるために、予約リストでそのようなキーワードを使用しないことをお勧めします。

于 2013-03-21T07:40:48.477 に答える
1

REPEATはMySQLのキーワードだと思います。列の名前を変更してみてください。

于 2013-03-21T07:40:34.017 に答える
1

まず、これは mysql によって予約されているため、REPEAT を使用しないでください。次に、外部キーに関する別のエラーがあるため、 MySql エラー 150 - 外部キーを確認してください。

于 2013-03-21T07:42:10.620 に答える