2012-03-08 11 views
13
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; 

Quando si esegue questa query sul server SQL, sto ottenendo il seguente errore:Errore di sintassi quando si esegue un MySQL CREATE TABLE

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 

Qualsiasi aiuto sul perché questo è in arrivo?

risposta

47

Invece di

TYPE=INNODB 

set

Engine=InnoDB 
2

Prova la seguente query:

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 ; 
1

Il manuale per CREATE TABLE non include TYPE; sembra utilizzare:

ENGINE = INNODB; 

E questo è il motore predefinito, quindi non è necessario specificarlo.

Problemi correlati