MySQL - Error 1064

   
Vista:

Error 1064

Publicado por Artemio (2 intervenciones) el 19/11/2008 20:51:21
Hola a todos.
Estoy intentando retocar un pocouna instalación de Joomla. Quiero agregar unos campos a la página de registro y para ello he de crrear unos campos en la tabla de la BD
Me voy a la pestaña SQL de PHPMyAdmin y ejecuto esta consulta:

ALTER TABLE jos_users ADD business VARCHAR (100) NO NULL AFTER name;

y me da un error de sintaxis:

#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 'NO NULL AFTER name' at line 1

Por lo que veo hay un error de sintaxis proximo al final de linea, pero no encuentro en San Google nada que me explique como solucionarlo (Seguro que por inutilidad mia)

Tengo instalado un paquete llamado MAMP en un ordenador MAC OSX Leoprad.
Las versiones que tengo son:
# Apache 2.0.59
# MySQL 5.0.41
# PHP 4.4.8 & 5.2.6

Supongo que el fallo se me produce por que la sintaxis que uso no es valida con la nueva versión de MySQL...

Un poco de luz... Gracias!
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

RE:Error 1064

Publicado por Gonzalo GC (103 intervenciones) el 19/11/2008 22:44:39
Dos errores posibles:
1. MySQL, como buen heredero del C, es un poco estricto y no acepta demamsiaods errores de construcción, entre ellos los espacios previos a los paréntesis donde no van. El VARCHAR (100) tiene un espacio intermedio que no debe estar allí. Eso puede ser.
2. Le estás diciendo que agregue... ¿qué? ¿COLUMN, CONSTRAINT, KEY...? No te olvides que las computadoreas no son seres inteligentes y estos lenguajes no son inferenciales.
La sintaxis sería:
ALTER TABLE jos_users ADD COLUMN business VARCHAR(100) NO NULL AFTER name;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 1064

Publicado por Artemio (2 intervenciones) el 20/11/2008 16:27:25
Hola Gonzalo:

Ya he conseguido resolverlo, por un lado tenias razón en lo espacios, pero aún así me daba error... al final en la sintaxis tambien habia otro error "NO NULL" debía ser "NOT NULL"

Lo que se trataba era de añadir un campo en la tabla, no una columna.

Muchas gracias y asta otra!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 1064

Publicado por Gonzalo GC (103 intervenciones) el 21/11/2008 03:12:42
Un campo en una tabla ES una columna. Lo que ocurre es que COLUMN es opcional. Puede o no aparecer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 1064

Publicado por Edgar (1 intervención) el 14/07/2009 07:53:04
A mi salía lo mismo con otra función:

Lo solucione al emparejar el juego de carácteres de la base de datos y de la tabla MySQL con el charset de la página web, donde se quiere incrustar la modificación. En mi caso la base de datos y la tabla estaba en el charset latin1 y la página apareca por default en utf8, así que cambie el juego de caracteres a charset=iso-8859-1 que debe ir en una etiqueta como esta: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> y dejo de aparecerme ese error, pude concluir la página y obtener los resultados de la consulta

Espero te de una idea de la solución para tu problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 1064

Publicado por davis guevara (1 intervención) el 08/05/2015 07:37:18
Que estoy haciendo mal? me sale el error 1064...Gracias

CREATE TABLE '#__postinstall_messages' ( 'postinstall_message_id' bigint(20) unsigned NOT NULL AUTO_INCREMENT, 'extension_id' bigint(20) NOT NULL DEFAULT 700 COMMENT 'FK to bnswt_extensions', 'title_key' varchar(255) NOT NULL DEFAULT '' COMMENT 'Lang key for the title', 'description_key' varchar(255) NOT NULL DEFAULT '' COMMENT 'Lang key for description', 'action_key' varchar(255) NOT NULL DEFAULT '', 'language_extension' varchar(255) NOT NULL DEFAULT 'com_postinstall' COMMENT 'Extension holding lang keys', 'language_client_id' tinyint(3) NOT NULL DEFAULT '1', 'type' varchar(10) NOT NULL DEFAULT 'link' COMMENT 'Message type - message, link, action', 'action_file' varchar(255) DEFAULT '' COMMENT 'RAD URI to the PHP file containing action method', 'action' varchar(255) DEFAULT '' COMMENT 'Action method name or URL', 'condition_file' varchar(255) DEFAULT NULL COMMENT 'RAD URI to file holding display condition method', 'condition_method' varchar(255) DEFAULT NULL COMMENT 'Display condition method, must return boolean', 'version_introduced' varchar(50) NOT NULL DEFAULT '3.2.0' COMMENT 'Version when this message was introduced', 'enabled' tinyint(3) NOT NULL DEFAULT 1, PRIMARY KEY ('postinstall_message_id') ) DEFAULT CHARSET=utf8;
INSERT INTO '"__postinstall_messages' ('postinstall_message_id', 'extension_id', 'title_key', 'description_key', 'action_key', 'language_extension', 'language_client_id', 'type', 'action_file', 'action', 'condition_file', 'condition_method', 'version_introduced', 'enabled') VALUES (1, 700, 'PLG_TWOFACTORAUTH_TOTP_POSTINSTALL_TITLE', 'PLG_TWOFACTORAUTH_TOTP_POSTINSTALL_BODY', 'PLG_TWOFACTORAUTH_TOTP_POSTINSTALL_ACTION', 'plg_twofactorauth_totp', 1, 'action', 'site://plugins/twofactorauth/totp/postinstall/actions.php', 'twofactorauth_postinstall_action', 'site://plugins/twofactorauth/totp/postinstall/actions.php', 'twofactorauth_postinstall_condition', '3.2.0', 1), (2, 700, 'COM_CPANEL_MSG_EACCELERATOR_TITLE', 'COM_CPANEL_MSG_EACCELERATOR_BODY', 'COM_CPANEL_MSG_EACCELERATOR_BUTTON', 'com_cpanel', 1, 'action', 'admin://components/com_admin/postinstall/eaccelerator.php', 'admin_postinstall_eaccelerator_action', 'admin://components/com_admin/postinstall/eaccelerator.php', 'admin_postinstall_eaccelerator_condition', '3.2.0', 1);
INSERT INTO '#__assets' ('id', 'parent_id', 'lft', 'rgt', 'level', 'name', 'title', 'rules') VALUES (38, 1, 73, 74, 1, 'com_postinstall', 'com_postinstall', '{}');
INSERT INTO '#___extensions' ('extension_id', 'name', 'type', 'element', 'folder', 'client_id', 'enabled', 'access', 'protected', 'manifest_cache', 'params', 'custom_data', 'system_data', 'checked_out', 'checked_out_time', 'ordering', 'state') VALUES (32, 'com_postinstall', 'component', 'com_postinstall', '', 1, 1, 1, 1, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);
INSERT INTO '#___menu' ('id', 'menutype', 'title', 'alias', 'note', 'path', 'link', 'type', 'published', 'parent_id', 'level', 'component_id', 'checked_out', 'checked_out_time', 'browserNav', 'access', 'img', 'template_style_id', 'params', 'lft', 'rgt', 'home', 'language', 'client_id') VALUES (24, 'main', 'com_postinstall', 'Post-installation messages', '', 'Post-installation messages', 'index.php?option=com_postinstall', 'component', 0, 1, 1, 32, 0, '0000-00-00 00:00:00', 0, 1, 'class:postinstall', 0, '', 45, 46, 0, '*', 1);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 1064

Publicado por Gonzalo (103 intervenciones) el 18/02/2016 15:57:55
Me sorprendería que te anduviese, con el nivel de errores que tiene...

Por lo pronto, los apóstrofes(´) no son para los nombres de campos ni tablas. SOn para cadenas de texto.
Luego, los numerales (#) son para comments, por lo que pueden desactivar todo lo que siga en el mismo renglón.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 1064

Publicado por luis (1 intervención) el 26/01/2016 01:21:41
ami me aparece este error
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 '* FROM asistencia a' at line 1
como lo puedo solucionar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 1064

Publicado por Gonzalo (103 intervenciones) el 18/02/2016 15:55:35
Comienza por postear la sentencia completa.
Si no vemos lo que pusiste, no podemos adivinar lo que está mal.
el mensaje de error de MySQL es solo una advertencia, pero no determina exactamente el punto (near significa "cerca de").
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar