25

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 ... ??

Gokul Nath KP
  • 15,485
  • 24
  • 88
  • 126

2 Answers2

48

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

Andrew
  • 5,095
  • 6
  • 42
  • 48
4

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

Gokul Nath KP
  • 15,485
  • 24
  • 88
  • 126
nos
  • 223,662
  • 58
  • 417
  • 506