0

I'm reading the Symfony documentation (Practical Symfony), and I finished creating the SQL code with propel.

But when i try to

$ symfony propel:insert-sql

the MySQL complains with:

#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 7

Snippet of the produced MySQL code:

CREATE TABLE `jobeet_category` (
`id` INTEGER NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 255 ) ,
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `jobeet_category_U_1` ( `name` )
) TYPE = InnoDB;

So the problem is TYPE = InnoDB;, but I don't understand why did propel produce invalid code.

I followed all the instructions in the book, I'm not sure what could be the problem - maybe the MySQL version I have?

Edit: I found my answer. http://zippykid.com/2010/05/symfony-mysql5-5-error/

4
  • which version of symfony do you use? Commented May 15, 2011 at 15:53
  • 1.4.11. But i think I figured it out: zippykid.com/2010/05/symfony-mysql5-5-error Commented May 15, 2011 at 16:00
  • That was a valid SQL query for MySQL for a the past 10+ years... it's only the very latest major version (5.5.x) that changed TYPE|ENGINE to just ENGINE in the DDL syntax. Commented May 15, 2011 at 16:03
  • Some good options over here: stackoverflow.com/questions/5040826/… Commented Jan 3, 2013 at 5:26

1 Answer 1

2

I'm pretty sure it should be ENGINE = InnoDB instead of type.

Sign up to request clarification or add additional context in comments.

3 Comments

Yeah, but what am i supposed to change so that propel produces the correct code?
You can either manually change it, or downgrade your MySQL version. I don't know if you can upgrade that sympohony/propel thingy to support the newest syntax to be honest.
Had this problem, ended up just manually editing the *.sql file and then re-run propel:insert-sql. Ugly but works.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.