Error 1064 MySQL TYPE=MyISAM

Modificado por última vez en Domingo, 11 Agosto 2013 00:59
(0 votos)

JInstaller::install: Error SQL. DB function failed with error number 1064

Componente Instalar: Error SQL. Archivo SQL no legible o desaparecido. DB function failed with error number 1064

mysql logoAl intentar actualizar el componente de Joomla! (en versión 1.5.26) AlphaContent (versión 4.0.18) me saltaba un error de la base de datos MySQL.

Estamos otra vez en conflicto con los desarrolladores que no actualizan los archivos de instalación de sus componentes, como en el caso que vimos hace unos días del bug en el componente Xmap.

En este caso el culpable o culpables son Alphaplug que han desarrollado varios componentes, entre ellos este AlphaContent, y cuyo administrador es un tal Bernard.

El error que daba el administrador de Joomla! era el siguiente:

JInstaller::install: Error SQL. DB function failed with error number 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=MyISAM' at 

line 11 SQL=CREATE TABLE IF NOT EXISTS `jos_alpha_rating`

( `ref` int(11) NOT NULL auto_increment, `id` int(11) NOT NULL default '0', `total_votes` int

(11) NOT NULL default '0', `total_value` int(11) NOT NULL default '0',

 `used_ips` longtext NOT NULL default '', `component` varchar(30) NOT NULL default 

'', `cid` int(11) NOT NULL default '0', `rid` int(11) NOT NULL default '0',

 PRIMARY KEY (`ref`) ) TYPE=MyISAM;
SQL = 
CREATE TABLE IF NOT EXISTS `jos_alpha_rating` (
  `ref` int(11) NOT NULL auto_increment,
  `id` int(11) NOT NULL default '0',
  `total_votes` int(11) NOT NULL default '0',
  `total_value` int(11) NOT NULL default '0',
  `used_ips` longtext NOT NULL default '',
  `component` varchar(30) NOT NULL default '',
  `cid` int(11) NOT NULL default '0',
  `rid` int(11) NOT NULL default '0',
  PRIMARY KEY  (`ref`)
) TYPE=MyISAM;

Componente Instalar: Error SQL. Archivo SQL no legible o desaparecido.

DB function failed with error number 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=MyISAM' at 

line 11 SQL=CREATE TABLE IF NOT EXISTS `jos_alpha_rating` 

( `ref` int(11) NOT NULL auto_increment, `id` int(11) NOT NULL default '0', `total_votes` int

(11) NOT NULL default '0', `total_value` int(11) NOT NULL default '0',

 `used_ips` longtext NOT NULL default '', `component` varchar(30) NOT NULL default 

'', `cid` int(11) NOT NULL default '0', `rid` int(11) NOT NULL default '0',

 PRIMARY KEY (`ref`) ) TYPE=MyISAM;
SQL = 
CREATE TABLE IF NOT EXISTS `jos_alpha_rating` (
  `ref` int(11) NOT NULL auto_increment,
  `id` int(11) NOT NULL default '0',
  `total_votes` int(11) NOT NULL default '0',
  `total_value` int(11) NOT NULL default '0',
  `used_ips` longtext NOT NULL default '',
  `component` varchar(30) NOT NULL default '',
  `cid` int(11) NOT NULL default '0',
  `rid` int(11) NOT NULL default '0',
  PRIMARY KEY  (`ref`)
) TYPE=MyISAM;

Como en el caso de Xmap, Bernard tiene en el foro de Alphaplug la solución al problema (en inglés) y pasa por no actualizar una instrucción de SQL para indicar el motor MyISAM (la tecnología de almacenamiento de datos usada por defecto por el sistema administrador de bases de datos relacionales MySQL) que está obsoleta para las versiones superiores a 5.5 de MySQL.

La solución pasa por cambiar TYPE=MyISAM por ENGINE=MyISAM en tres archivos que están estas rutas del pack de instalación de AlphaContent:

/install.alphacontent.php
/backend/install.mysql.sql
/backend/install.mysql.utf8.sql

Hay que dejarlos así:

install.alphacontent.php  (sobre la línea 77)

 

if (!$db->query()) {            
        $query = "CREATE TABLE IF NOT EXISTS `#__alpha_rating` (
          `ref` int(11) NOT NULL auto_increment,
          `id` int(11) NOT NULL default '0',
          `total_votes` int(11) NOT NULL default '0',
          `total_value` int(11) NOT NULL default '0',
          `used_ips` longtext NOT NULL default '',
          `component` varchar(30) NOT NULL default '',
          `cid` int(11) NOT NULL default '0',
          `rid` int(11) NOT NULL default '0',
          PRIMARY KEY  (`ref`)
        ) ENGINE=MyISAM;";
        $db->setQuery( $query );
        $db->query();

     
install.mysql.sql

CREATE TABLE IF NOT EXISTS `#__alpha_rating` (
  `ref` int(11) NOT NULL auto_increment,
  `id` int(11) NOT NULL default '0',
  `total_votes` int(11) NOT NULL default '0',
  `total_value` int(11) NOT NULL default '0',
  `used_ips` longtext NOT NULL default '',
  `component` varchar(30) NOT NULL default '',
  `cid` int(11) NOT NULL default '0',
  `rid` int(11) NOT NULL default '0',
  PRIMARY KEY  (`ref`)
) ENGINE=MyISAM;


install.mysql.utf8.sql

CREATE TABLE IF NOT EXISTS `#__alpha_rating` (
  `ref` int(11) NOT NULL auto_increment,
  `id` int(11) NOT NULL default '0',
  `total_votes` int(11) NOT NULL default '0',
  `total_value` int(11) NOT NULL default '0',
  `used_ips` longtext NOT NULL default '',
  `component` varchar(30) NOT NULL default '',
  `cid` int(11) NOT NULL default '0',
  `rid` int(11) NOT NULL default '0',
  PRIMARY KEY  (`ref`)
) ENGINE=MyISAM;


Yo he modificado estos archivos y vuelto a comprimir en zip todo el instalador del componente AlphaContent para que no haya problemas con la instalación (Marcar el archivo en SkyDrive y botón derecho, descargar).

 


Comentarios (0)

No hay comentarios escritos aquí

Deja tus comentarios

  1. Publicar comentario como invitado. Regístrate o ingresaa tu cuenta
Archivos adjuntos (0 / 3)
Compartir su ubicación
close

Recibe gratis nuestros nuevos artículos!

Serás el primero en conocer las novedades y noticias que pasan en Internet, nuestros tutoriales, trucos y más.

Escribe tu email:

Se abrirá una nueva ventana deFeedBurner a la izquierda de la página y habrás de validar un Captcha.

Lee nuestras Política de privacidad & Política de cookies
Puedes darte de baja de la lista de correo electrónico en cualquier momento