Bug #47407 Sql error in CREATE on synchronize model
Submitted: 17 Sep 2009 10:44 Modified: 2 Oct 2009 10:16
Reporter: Mauro Parolari Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:5.2.3a OS:Any (XP, Mac OS X)
Assigned to: Alexander Musienko CPU Architecture:Any
Tags: regression, synchronize

[17 Sep 2009 10:44] Mauro Parolari
Description:
When I try to syncronize my schema, I get this sql

CREATE  TABLE IF NOT EXISTS `synthescom`.`adx_clienti` (

  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,

  `citta` VARCHAR(100) NULL DEFAULT NULL ,

  `provincia` VARCHAR(100) NULL DEFAULT NULL ,

  PRIMARY KEY (`id`) 

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;

A closing parenthesis ) after the Primary Key is missing, in fact I get this error

ERROR: Error 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 'ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci' at line 13

How to repeat:
Create a table and synchronize with a db connection

Suggested fix:
Just a typo, put back the parentesis ;)
[17 Sep 2009 10:54] Valeriy Kravchuk
Thank you for the bug report. This is 100% repeatable with any table having a PK:

CREATE  TABLE IF NOT EXISTS `mydb`.`table1` (

  `idtable1` INT NOT NULL ,

  `c1` VARCHAR(45) NULL ,

  `c2` VARCHAR(45) NULL ,

  PRIMARY KEY (`idtable1`) 

ENGINE = InnoDB;
[17 Sep 2009 13:50] Valeriy Kravchuk
Bug #47414 was marked as a duplicate of this one.
[17 Sep 2009 13:52] Valeriy Kravchuk
Bug #47415 was marked as a duplicate of this one.
[19 Sep 2009 7:14] Valeriy Kravchuk
Bug #47446 was marked as a duplicate of this one.
[20 Sep 2009 7:27] Valeriy Kravchuk
Bug #47456 was marked as a duplicate of this one.
[20 Sep 2009 18:38] Valeriy Kravchuk
Bug #47461 was marked as a duplicate of this one.
[22 Sep 2009 13:24] Valeriy Kravchuk
Bug #47515 was marked as a duplicate of this one.
[25 Sep 2009 11:38] Valeriy Kravchuk
Bug #47647 was marked as a duplicate of this one.
[29 Sep 2009 20:27] MySQL Verification Team
Bug http://bugs.mysql.com/bug.php?id=47722 marked as duplicate of this one.
[29 Sep 2009 21:40] MySQL Verification Team
Bug http://bugs.mysql.com/bug.php?id=47728 marked as duplicate of this one.
[1 Oct 2009 11:43] Johannes Taxacher
this has been fixed and will be included in 5.2.4
[2 Oct 2009 10:16] Tony Bedford
An entry has been added to the 5.2.4 changelog:

When a model was synchronized, the following incorrect SQL was generated:

CREATE  TABLE IF NOT EXISTS `synthescom`.`adx_clienti` (

  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,

  `citta` VARCHAR(100) NULL DEFAULT NULL ,

  `provincia` VARCHAR(100) NULL DEFAULT NULL ,

  PRIMARY KEY (`id`) 

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;

Note that the closing parenthesis, which should have been located after the PRIMARY KEY statement, is missing. This resulted in the following error being generated:

ERROR: Error 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 'ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci' at line 13
[6 Oct 2009 15:51] MySQL Verification Team
bug http://bugs.mysql.com/bug.php?id=47866 marked as duplicate of this one.
[6 Oct 2009 17:41] MySQL Verification Team
Bug http://bugs.mysql.com/bug.php?id=47869 marked as duplicate of this one.
[7 Oct 2009 3:31] Valeriy Kravchuk
Bug #47881 was marked as a duplicate of this one.
[7 Oct 2009 11:06] Johannes Taxacher
#47894 has been marked as duplicate of this
[8 Oct 2009 9:45] Johannes Taxacher
Bug #47898 was marked as duplicate of this one