2013-08-20 17 views
18

Quando provo ad eseguire il seguente errore di SQL in MySQL, sto ottenendo:Utilizzando "TYPE = InnoDB" in MySQL lancia un'eccezione

SQL:

 SQL = "CREATE TABLE Ranges ("; 
     SQL += "ID varchar(20) NOT NULL, "; 
     SQL += "Descriptions longtext NULL, "; 
     SQL += "Version_Number int NULL, "; 
     SQL += "Row_Updated bigint NULL, "; 
     SQL += "Last_Updated datetime NULL, "; 
     SQL += "XML longtext NULL, "; 
     SQL += "PRIMARY KEY (ID)"; 
     SQL += ") " + "TYPE = InnoDB"; 

Errore:

Hai un errore nella sintassi SQL; controlla il manuale corrispondente alla tua versione del server MySQL per la sintassi corretta da utilizzare vicino a "TYPE = InnoDB"

Ma se rimuovo "TYPE = InnoDB", la query funziona correttamente.

In precedenza, la query ha funzionato correttamente, ovvero in MySQL 5.0. Ma quando ho aggiornato a MySQL 5.6, sto ottenendo l'errore di cui sopra.

Eventuali suggerimenti/alternative ... ??

risposta

34

Utilizzare ENGINE = Innodb anziché TYPE = InnoDB. TYPE è stato rimosso in 5.1.

+0

Grazie. Funzionava bene :) –

+0

Ha funzionato. Grazie. –

4

TYPE = InnoDB è stato dichiarato obsoleto in MySQL 5.0 ed è stato rimosso in My SQL 5.1 e versioni successive.

Ora è necessario utilizzare ENGINE = InnoDB