Description:
When I create a table in a new schema, and I try to synchronize it with the database, it fails with the following error:
file c:\dokumente und einstellungen\mike\eigene dateien\work\mysql-gui-common\library_grt\source\myx_grt_value.c: line 3295: assertion `dict != NULL' failed
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 'COLLATE NOT NULL,
`alumno_apellido` VARCHAR(45) CHARACTER SET COLLATE NOT ' at line 3
And the script that it's trying to execute:
CREATE TABLE `educat`.`Alumno` (
`alumno_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`alumno_nombre` VARCHAR(45) CHARACTER SET COLLATE NOT NULL,
`alumno_apellido` VARCHAR(45) CHARACTER SET COLLATE NOT NULL,
`alumno_documento` VARCHAR(15) CHARACTER SET COLLATE NULL,
`documento_tipo` INT NULL,
`alumno_calle` VARCHAR(50) CHARACTER SET COLLATE NOT NULL,
`alumno_numero` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_piso` VARCHAR(3) CHARACTER SET COLLATE NULL,
`alumno_depto` VARCHAR(30) CHARACTER SET COLLATE NULL,
`alumno_edificio` VARCHAR(25) CHARACTER SET COLLATE NULL,
`alumno_escalera` VARCHAR(25) CHARACTER SET COLLATE NULL,
`alumno_localidad` VARCHAR(45) CHARACTER SET COLLATE NULL,
`provincia_id` INT NULL,
`pais_id` INT NULL,
`alumno_telefono` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_telefono2` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_telefono3` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_proveedorInternet` INT NULL,
`alumno_proveedorInternetOtro` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_institucion` VARCHAR(45) CHARACTER SET COLLATE NULL,
`nivelAlumno_id` INT NULL,
`alumno_Masculino` BINARY(0) NULL,
`alumno_fechaNacimiento` DATETIME NULL,
`alumno_observaciones` VARCHAR(500) CHARACTER SET COLLATE NULL,
PRIMARY KEY (`alumno_id`)
)
ENGINE = InnoDB
CHARACTER SET latin1 COLLATE spanish_ci;
I'm using latin1_spanish_ci Collation.
How to repeat:
Creating a table as the following script:
CREATE TABLE `educat`.`Alumno` (
`alumno_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`alumno_nombre` VARCHAR(45) CHARACTER SET COLLATE NOT NULL,
`alumno_apellido` VARCHAR(45) CHARACTER SET COLLATE NOT NULL,
`alumno_documento` VARCHAR(15) CHARACTER SET COLLATE NULL,
`documento_tipo` INT NULL,
`alumno_calle` VARCHAR(50) CHARACTER SET COLLATE NOT NULL,
`alumno_numero` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_piso` VARCHAR(3) CHARACTER SET COLLATE NULL,
`alumno_depto` VARCHAR(30) CHARACTER SET COLLATE NULL,
`alumno_edificio` VARCHAR(25) CHARACTER SET COLLATE NULL,
`alumno_escalera` VARCHAR(25) CHARACTER SET COLLATE NULL,
`alumno_localidad` VARCHAR(45) CHARACTER SET COLLATE NULL,
`provincia_id` INT NULL,
`pais_id` INT NULL,
`alumno_telefono` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_telefono2` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_telefono3` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_proveedorInternet` INT NULL,
`alumno_proveedorInternetOtro` VARCHAR(45) CHARACTER SET COLLATE NULL,
`alumno_institucion` VARCHAR(45) CHARACTER SET COLLATE NULL,
`nivelAlumno_id` INT NULL,
`alumno_Masculino` BINARY(0) NULL,
`alumno_fechaNacimiento` DATETIME NULL,
`alumno_observaciones` VARCHAR(500) CHARACTER SET COLLATE NULL,
PRIMARY KEY (`alumno_id`)
)
ENGINE = InnoDB
CHARACTER SET latin1 COLLATE spanish_ci;
Suggested fix:
If I run the following script it works:
CREATE TABLE `educat`.`Alumno` (
`alumno_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`alumno_nombre` VARCHAR(45) NOT NULL,
`alumno_apellido` VARCHAR(45) NOT NULL,
`alumno_documento` VARCHAR(15) NULL,
`documento_tipo` INT NULL,
`alumno_calle` VARCHAR(50) NOT NULL,
`alumno_numero` VARCHAR(45) NULL,
`alumno_piso` VARCHAR(3) NULL,
`alumno_depto` VARCHAR(30) NULL,
`alumno_edificio` VARCHAR(25) NULL,
`alumno_escalera` VARCHAR(25) NULL,
`alumno_localidad` VARCHAR(45) NULL,
`provincia_id` INT NULL,
`pais_id` INT NULL,
`alumno_telefono` VARCHAR(45) NULL,
`alumno_telefono2` VARCHAR(45) NULL,
`alumno_telefono3` VARCHAR(45) NULL,
`alumno_proveedorInternet` INT NULL,
`alumno_proveedorInternetOtro` VARCHAR(45) NULL,
`alumno_institucion` VARCHAR(45) NULL,
`nivelAlumno_id` INT NULL,
`alumno_Masculino` BINARY(0) NULL,
`alumno_fechaNacimiento` DATETIME NULL,
`alumno_observaciones` VARCHAR(500) NULL,
PRIMARY KEY (`alumno_id`)
)
ENGINE = InnoDB;
NOTICE that the last line of the script was deleted!