Bases de Datos - Problema al sincronizar base de datos en MYSQL Workbench (error 1064)

 
Vista:

Problema al sincronizar base de datos en MYSQL Workbench (error 1064)

Publicado por Francisco Monges (1 intervención) el 28/09/2021 02:11:54
Buenas tengo el siguiente código con las siguientes tablas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
CREATE TABLE IF NOT EXISTS `mydb`.`Producto` (
  `idProducto` INT(11) NOT NULL COMMENT 'Campo que indica el código del producto.',
  `descrip_prod` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se indica la descripción de un producto.',
  `prec_com_prod` INT(11) NULL DEFAULT NULL COMMENT 'Campo que indica el precio de compra del producto',
  `cant_prod` INT(11) NULL DEFAULT NULL COMMENT 'Campo donde se indica la cantidad del producto que se adquiere.',
  PRIMARY KEY (`idProducto`),
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabla que indica el producto con sus atributos';
 
CREATE TABLE IF NOT EXISTS `mydb`.`Detalle_factura` (
  `cant_prod` INT(11) NULL DEFAULT NULL,
  `desc_prod` VARCHAR(45) NULL DEFAULT NULL,
  `por_desc` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo que indica el porcentaje de descuento (si es que lo hay) que se aplicará al finalizar una compra determinada.',
  `Factura_idFactura` INT(11) NOT NULL,
  PRIMARY KEY (`Factura_idFactura`),
    FOREIGN KEY (`Factura_idFactura`)
    REFERENCES `mydb`.`Factura` (`idFactura`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
    FOREIGN KEY (`cant_prod`)
    REFERENCES `mydb`.`Producto` (`cant_prod`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
    FOREIGN KEY (`desc_prod`)
    REFERENCES `mydb`.`Producto` (`descrip_prod`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabla que detalla los productos que se adquieren';
 
CREATE TABLE IF NOT EXISTS `mydb`.`Factura` (
  `idFactura` INT(11) NOT NULL COMMENT 'Campo donde se indica el número de la factura.',
  `moneda_pago` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se asigna la moneda con la que se realizará el pago.',
  `fecha_fac` DATETIME NULL DEFAULT NULL COMMENT 'Campo que indica la fecha en la que se emite la factura.',
  `condic_venta` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se indica la condición de venta de la factura.',
  `medio_pago` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se indica el medio con el cual se realizará el pago.',
  `prec_total` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se indicará el precio total a pagar.',
  `Cliente_idCliente` INT(11) NOT NULL,
  `Vendedor_idVendedor` INT(11) NOT NULL,
  PRIMARY KEY (`idFactura`, `Cliente_idCliente`, `Vendedor_idVendedor`),
    FOREIGN KEY (`Cliente_idCliente`)
    REFERENCES `mydb`.`Cliente` (`idCliente`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
    FOREIGN KEY (`Vendedor_idVendedor`)
    REFERENCES `mydb`.`Vendedor` (`idVendedor`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabla que indica los productos el cliente compra';
 
CREATE TABLE IF NOT EXISTS `mydb`.`Vendedor` (
  `idVendedor` INT(11) NOT NULL COMMENT 'Campo donde se asignará el código del vendedor.',
  `nombre_vend` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se indica el nombre del vendedor.',
  PRIMARY KEY (`idVendedor`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabla que hace referencia al vendedor del producto';
 
CREATE TABLE IF NOT EXISTS `mydb`.`Nómina` (
  `horas_trab` INT(11) NULL DEFAULT NULL COMMENT 'Campo donde se indica las horas que ha trabajado el vendedor.',
  `salario_hora` INT(11) NULL DEFAULT NULL COMMENT 'Campo donde se indica el salario que recibe el vendedor por hora trabajada.',
  `Vendedor_idVendedor` INT(11) NOT NULL,
  PRIMARY KEY (`Vendedor_idVendedor`),
    FOREIGN KEY (`Vendedor_idVendedor`)
    REFERENCES `mydb`.`Vendedor` (`idVendedor`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabla que hace referencia a la nómina que recibe el vendedor';
 
CREATE TABLE IF NOT EXISTS `mydb`.`Cliente` (
  `idCliente` INT(11) NOT NULL COMMENT 'Campo donde se asigna el código o RUC único del cliente.',
  `nomb_cl` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se define el nombre del cliente.',
  `dir_cl` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se indica la dirección del cliente.',
  PRIMARY KEY (`idCliente`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabla que indica el cliente que adquiere el producto';
 
CREATE TABLE IF NOT EXISTS `mydb`.`Proveedor_has_Producto` (
  `Proveedor_idProveedor` INT(11) NOT NULL,
  `Producto_idProducto` INT(11) NOT NULL,
  PRIMARY KEY (`Proveedor_idProveedor`, `Producto_idProducto`),
    FOREIGN KEY (`Proveedor_idProveedor`)
    REFERENCES `mydb`.`Proveedor` (`idProveedor`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
    FOREIGN KEY (`Producto_idProducto`)
    REFERENCES `mydb`.`Producto` (`idProducto`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
 
 
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Al compilar el código me lanza el siguiente error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Executing SQL script in server
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabla que indica el producto...' at line 7
SQL Code:
        CREATE TABLE IF NOT EXISTS `mydb`.`Producto` (
          `idProducto` INT(11) NOT NULL COMMENT 'Campo que indica el código del producto.',
          `descrip_prod` VARCHAR(45) NULL DEFAULT NULL COMMENT 'Campo donde se indica la descripción de un producto.',
          `prec_com_prod` INT(11) NULL DEFAULT NULL COMMENT 'Campo que indica el precio de compra del producto',
          `cant_prod` INT(11) NULL DEFAULT NULL COMMENT 'Campo donde se indica la cantidad del producto que se adquiere.',
          PRIMARY KEY (`idProducto`),
        ENGINE = InnoDB
        DEFAULT CHARACTER SET = utf8
        COMMENT = 'Tabla que indica el producto con sus atributos'
SQL script execution finished: statements: 3 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch

Tengo mi versión de MYSQL Workbench actualizada a la última versión (27/09/21), y no sé cuál podría ser la solución a este problema..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder