• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 330
  • Last Modified:

mysql table type specification error.

Hello:

I am getting an error when I specify the table type in mysql, Please see attached jpeg image which shows what is going wrong. when I create a table using following:
CREATE TABLE TEST( name VARCHAR(100))TYPE=innodb;

Open in new window

I get an error.
However when I write the same query without specifying type as follows:
CREATE TABLE TEST( name VARCHAR(100));

Open in new window


I get no error. How do I resolve this? Any help would be appreciated.
Thanks,


NOTE: IN the attached png file, in the first query, in  the type specifier part (i.e. TYPE = innodb) , you will see a "-" sign...i.e. TYPE - innodb. Please note that the query I ran contains "=" as specified in the code above.. Its just that when I captured the window image I lost one "-" of the "=" sign,

Thanks.
    table type specifier error.
0
arjoshi77
Asked:
arjoshi77
1 Solution
 
nemws1Database AdministratorCommented:
Maybe you don't have the INNODB database enabled (or perhaps not even compiled in)?

Run 'mysqladmin variables' and look for the 'innodb_*' entries.
0
 
Pratima PharandeCommented:
The solution to this is
Edit the file D:/xampp/htdocs/symfony_1_4/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/classes/propel/engine/builder/sql/mysql/MysqlDDLBuilder.php
Line 156, change
$script .= “Type=$mysqlTableType”;
to
$script .= “Engine=$mysqlTableType”;

refer
http://www.vinodkram.com/mysql-error-while-executing-propelinsert-sql-in-symfony-1-4
0
 
arjoshi77Author Commented:
nemws1:

I ran the command  'mysqladmin variables' you mentioned. There are no 'innodb_*" entries. I have installed mysql uaing mysql-5.5.10-win32.msi binary. What do I do now? Please help.

0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Dave BaldwinFixer of ProblemsCommented:
Run 'mysql' and type "SHOW ENGINES\G" and it will list what is installed.  http://dev.mysql.com/doc/refman/5.5/en/storage-engines.html
0
 
nemws1Database AdministratorCommented:
Weird.... If you're running MySQL 5.5, InnoDB is the default engine (ie: you don't need to say InnoDB to get an InnoDB table).  Regardless, specifying it should still work.  I had tested your commands on a 5.1 install and they worked just fine.  Downloading a fresh copy of 5.5 to test with ... back in a few minutes.
0
 
nemws1Database AdministratorCommented:
Yup.  Just installed the lastest 5.5 (I'm on a Mac, tho) and when I do a simple 'CREATE TABLE...' with no TYPE or ENGINE defined and then do a 'mysqldump DBNAME test' it reports it as an InnoDB table.

If I try your command:
CREATE TABLE TEST( name VARCHAR(100))TYPE=innodb;

Open in new window


It fails... seems the TYPE keyword is no longer supported.  Use ENGINE instead:
CREATE TABLE TEST( name VARCHAR(100)) ENGINE=innodb;

Open in new window

and it should work!
0
 
arjoshi77Author Commented:
thanks very much. The engine type specifier worked.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now