web-dev-qa-db-ja.com

MySQL CREATE TABLEステートメントの実行時の構文エラー

CREATE TABLE users (
user_id     INT(8) NOT NULL AUTO_INCREMENT,
user_name   VARCHAR(30) NOT NULL,
user_pass   VARCHAR(255) NOT NULL,
user_email  VARCHAR(255) NOT NULL,
user_date   DATETIME NOT NULL,
user_level  INT(8) NOT NULL,
UNIQUE INDEX user_name_unique (user_name),
PRIMARY KEY (user_id)
) TYPE=INNODB;

SQLサーバーでこのクエリを実行すると、次のエラーが発生します。

1064- 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 'TYPE=INNODB' at line 10

なぜこれが来るのか、何か助けはありますか?

16
user180857

の代わりに

TYPE=INNODB

セットする

Engine=InnoDB
51
hsz
6
dotoree

次のクエリを試してください。

CREATE TABLE IF NOT EXISTS `users` (
    `user_id` int(8) NOT NULL AUTO_INCREMENT,
    `user_name` varchar(30) NOT NULL,
    `user_pass` varchar(255) NOT NULL,
    `user_email` varchar(255) NOT NULL,
    `user_date` datetime NOT NULL,
    `user_level` int(8) NOT NULL,
    PRIMARY KEY (`user_id`),
    UNIQUE KEY `user_name_unique` (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
2
user1252306

CREATE TABLE のマニュアルには、TYPEは含まれていません。それは使用するようです:

ENGINE = INNODB;

これがデフォルトのエンジンなので、実際に指定する必要はありません。

2