Using "TYPE = InnoDB" in MySQL throws exception

28.7k views Asked by At

When I try to execute the following SQL in MySQL, I'm getting error:

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

Error:

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"

But if I remove "TYPE = InnoDB", then the query works fine.

Previously the query worked fine, ie in MySQL 5.0. But when I upgraded to MySQL 5.6, I'm getting the above error.

Any Suggestions / Alternatives ... ??

2

There are 2 answers

1
Andrew On BEST ANSWER

Use ENGINE = Innodb instead of TYPE = InnoDB. TYPE was removed in 5.1.

0
nos On

TYPE = InnoDB was deprecated in MySQL 5.0 and was removed in My SQL 5.1 and later versions.

You now have to use ENGINE = InnoDB