Inicio Foros Bases de datos MySQL Error 1031 HY000 Table storage engine doesn't have this option en MySQL

Este debate contiene 5 respuestas, tiene 2 mensajes y lo actualizó Avatar Varios hace 2 meses, 3 semanas.

Viendo 6 publicaciones - del 1 al 6 (de un total de 6)
  • Autor
    Publicaciones
  • #3615
    Avatar
    Varios
    Moderador

    Hola, tengo un par de servidores con MySQL, quiero migrar de la versión 5 a la 8 de MySQL. En el de producción tengo la versión 5 y en el nuevo, Linux CentOS, tengo la versión 8 de MySQL. Estoy usando MySQL Workbench para la exportación e importación.

    De momento me he encontrado con el problema de que la versión nueva de MySQL Workbench no accede a MySQL 5 y, a su vez, la versión anterior de MySQL Workbench no accede a MySQL 8, por lo que trabajo con dos versiones de MySQL Workbench.

    Con la versión anterior hago el export de la base de datos del servidor MySQL 5. Y con la nueva de Workbench importo a la nueva. Me importa casi todas las tablas, salvo una que me da este error:

    Running: mysql.exe –defaults-file=»c:\users\usuario\appdata\local\temp\12\tmpsyipxf.cnf» –protocol=tcp –host=192.168.1.100 –user=root –port=3306 –default-character-set=utf8 –comments –database=facturacion < «C:\\Users\\usuario\\Desktop\\facturacion.sql»
    ERROR 1031 (HY000) at line 14649: Table storage engine for ‘facturas’ doesn’t have this option

    Operation failed with exitcode 1
    12:12:15 Import of C:\Users\usuario\Desktop\facturacion.sql has finished with 1 errors

    ¿A qué puede ser debido?

    #3616
    Avatar
    Varios
    Moderador

    He revisado el tipo de tabla y es InnoDB, como el resto.

    #3617
    alonsojpd
    alonsojpd
    Jefe de claves

    Ejecuta la siguiente consulta SQL para ver cómo se creo la tabla y nos muestras el resultado:

     

    show create table facturas;

    #3618
    Avatar
    Varios
    Moderador

    Me devuelve esto:

    CREATE TABLE facturas (
    codigo int(10) unsigned NOT NULL AUTO_INCREMENT,
    numero varchar(30) NOT NULL,
    referencia varchar(100) NOT NULL,
    importe decimal(19,4) DEFAULT NULL,
    fecha date DEFAULT NULL,
    pagada varchar(1) DEFAULT NULL,
    observacion text,
    codigocliente int(10) DEFAULT NULL,
    PRIMARY KEY (codigo),
    UNIQUE KEY factura_numero (numero)
    ) ENGINE=InnoDB AUTO_INCREMENT=106 DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED

    #3619
    alonsojpd
    alonsojpd
    Jefe de claves

    El problema podría estar en ROW_FORMAT=FIXED, normalmente no se especifica este valor y es menos habitual que sea FIXED. InnoDB admite los formatos: REDUNDANT, COMPACT, DYNAMIC y COMPRESSED.

    Para modificar este valor puedes ejecutar:

    ALTER TABLE facturas
    ROW_FORMAT = DEFAULT;

    #3620
    Avatar
    Varios
    Moderador

    Genial, muchísimas gracias. Cambiando el ROW_FORMAT a Default me funciona perfectamente.

    Solucionado.

Viendo 6 publicaciones - del 1 al 6 (de un total de 6)

Debes estar registrado para responder a este debate.