Regresar   Foro de marcianitos.org > Marcianeando > Cajón de sastre

 
 
Old 12-dic-2006, 23:42   #1
ChispaMaster
Marcianitos Team
 
Avatar de ChispaMaster
Ayuda base de datos y tablas

Hola

Estoy aprendiendo a instalar un foro , y hace poco compre espacio para las base de datos , que son requeridos por estos.

Al tratar de instalar el foro , me arroja un error , como si debiera crear una tabla en la base de datos , pero mi desconocimiento en esto es total. Tan solo puedo mostrar el error que arroja .

El mensaje que sale es este :

Code:
mySQL Error: Invalid default value for 'macro_set'
Query:CREATE TABLE ibf_macro ( macro_id smallint(3) NOT NULL auto_increment,
macro_value varchar(200) default NULL, macro_replace text,
can_remove tinyint(1) default '0', macro_set smallint(3) NOT NULL default '',
PRIMARY KEY (macro_id), KEY macro_set (macro_set) ) TYPE=MyISAM;
He visto que si que ha creado varias tablas en la base de datos , pero esta en concreto , no la crea.

Alguien me puede ayudar.

Gracias
   
Old 13-dic-2006, 00:18   #2
Bubu
Editor Marciano
Es que la estás diciendo que por defecto el campo macro_set valga vacío ('') y por otra parte le estás diciendo que no se quede vacío (NOT NULL). Ponlo por defecto a cero, y ya está:

Code:
... macro_set smallint(3) NOT NULL default '0'
   
Old 13-dic-2006, 00:35   #3
ChispaMaster
Marcianitos Team
 
Avatar de ChispaMaster
Hola Bubu

Amplio un poco mas .

El foro que estoy tratando de instalar , trae un instalador. En el le vas insertando los datos de la base de datos , el host , el nombre de usuario y el pass.

Al darle a enviar , el instalador , crea automaticamente unas tablas . Yo no hago nada , lo hace el instalador y me he dado cuenta que me ha creado 16 tablas , al mirar dentro del panel de control de las bases de datos .

Pero el istalador , supongo que cuando llega al punto en el que hay algo que no funciona , supongo que sera al crear esa tabal que seria la numero 17 , es cuando arroja el error.

Yo he tratado de crear una nueva tabla , pues puedes indicar en la base de datos que cree una nueva tabla , pero claro , luego viene el numero de campos que debe tener esa tabal y claro , hay ya no se continuar.

He puesto al azar que tenga 7 campos , y me da acceso a una pagina en la que definir los paramatros de los campos y en ese punto he desistido y he decidido postearlo por aqui , porque como digo , mi desconocimeinto es total.

Una vez instalado el foro , ya no tengo problemas , pues la administracion de estos foros los conozco , pero este paso siempre me ha asustado un poco.

Es por ello que decidiera comprar espacio para la base de datos y aprender a gestionarlas .

Perdon por la chapa y muchas gracias por la ayuda.

Como digo siempre ..., soy todo oidos.

Saludos
   
Old 13-dic-2006, 01:34   #4
Paul Sernine
Moderador
 
Avatar de Paul Sernine
Hola. Pasa de crear la tabla con el asistente, basta con ejecutar el create table que has puesto, pero modificando el default para que sea un número.

No he trabajado nunca con MySQL, pero estoy seguro que desde la interfaz, hay alguna opción desde la que puedes ejecutar una instrucción SQL, búscala y pega la sentencia create table que ha dado error, pero cambiándo lo que te ha dicho bubu. Es decir:

Quote:
CREATE TABLE ibf_macro ( macro_id smallint(3) NOT NULL auto_increment,
macro_value varchar(200) default NULL, macro_replace text,
can_remove tinyint(1) default '0', macro_set smallint(3) NOT NULL default '0',
PRIMARY KEY (macro_id), KEY macro_set (macro_set) ) TYPE=MyISAM;
eso te debaría crear la tabla que falta.
   
Old 13-dic-2006, 03:30   #5
ChispaMaster
Marcianitos Team
 
Avatar de ChispaMaster
Hola compañeros

Paul Sernine , realice la tabla utilizando la utilidad que me indicabas y la creo perfectamente , con el codigo que mencionabais.

Como sabia que al tratar de instalar de nuevo , el archivo.php del instalador me volveria a arrojar ese error , encontre la linea de codigo y le hice la modificacion y me siguio creando tablas hasta qe ha llegado a un momento que se a trabado en otra.

Por el momento me ha creado 37.

Creo que el error que me arroja es el mismo y voy a volver a modificar el codigo .php ( que por cierto es para volverse loco ) .

Cualquier cosilla aviso.

Muchas gracias por el interes.

Saludos
   
Old 13-dic-2006, 17:31   #6
ChispaMaster
Marcianitos Team
 
Avatar de ChispaMaster
Hola

Despues de modificar el instalador .php , he conseguido instalar el foro , pero al tratar de entrar en el , me vuelve a arrojar un error , que supongo que es de alguna tabla , que esta mal creada.

El error que me arroja la pantalla del index.php del foro es :

Code:
mySQL query error: SELECT f.*, c.id as cat_id, c.position as cat_position, c.state
as cat_state, c.name as cat_name, c.description as cat_desc,
        		   c.image, c.url, m.member_name as mod_name,
m.member_id as mod_id, m.is_group, m.group_id, m.group_name, m.mid
        		   FROM ibf_forums f, ibf_categories c
        		     LEFT JOIN ibf_moderators m ON (f.id=m.forum_id)
        		   WHERE c.id=f.category
        		   ORDER BY c.position, f.position
mySQL error: Unknown column 'f.id' in 'on clause'
mySQL error code: 
Date: Wednesday 13th of December 2006 03:56:35 PM
Me podeis indicar , como debo corregir este error ...


Saludos
   
Old 13-dic-2006, 18:22   #7
Paul Sernine
Moderador
 
Avatar de Paul Sernine
Yo diría que la tabla "ibf_forums" (en la sentencia se le da el alias "f") no tiene ningún campo llamado "id", tal y como aparece en el LEFT JOIN de la sentencia.

Puedes comprobarlo haciendo un "Select * from ibf_forums" desde la ventana de SQL.

Si ves que no tiene ningún campo llamado "id", revisa los scripts de creación de tablas a ver si al crear la tabla "ibf_forums" incluye algún campo llamado así. Quizá este create table también dio algún error y no lo viste.

No se, para mi que el instalador del foro está jodido o no corresponde a la misma versión de MySQL que estás utilizando, no es lógico que al instalarlo te de errores de sintaxis tan obvios como el anterior que has puesto.

A ver si se te soluciona.

Editado por Paul Sernine en 13-dic-2006 a las 18:28.
   
Old 13-dic-2006, 21:00   #8
ChispaMaster
Marcianitos Team
 
Avatar de ChispaMaster
Hola Paul

Esto me esta volviendo loco , porque aparentemente el instalador no ha funcionado correctamente , lo que me va a hacer desistir en probar esto.

Tan solo lo realizaba para tratar de aprender a instalar un foro y comprobar como generaba las tablas en la base de datos y comprobar a hacer copias de seguridad de las bases de datos y restauracion de estas . Es decir , investigar un poco como funciona el sistema .

Pero claro , lo suyo es comprobar con algo que funcione bien , si no , todos los problemas aparecen antes de empezar la investigacion.

Gracias por las molestias y probare con otras cosas ...

Muy amable . Un saludo
   
Old 13-dic-2006, 21:05   #9
MAUL
Santo Inquisidor Marciano
 
Avatar de MAUL
y de que es el foro eh golfo
   
Old 13-dic-2006, 22:08   #10
snopes
Marciano
 
Avatar de snopes
ufff, yo no te puedo ayudar compañero.
A pesar de que he instalado varios foros, todo ha sido automático... de php no tengo ni papa