12-dic-2006, 23:42 | #1 |
Marcianitos Team
|
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; Alguien me puede ayudar. Gracias |
13-dic-2006, 00:18 | #2 |
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' |
13-dic-2006, 00:35 | #3 |
Marcianitos Team
|
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 |
13-dic-2006, 01:34 | #4 | |
Moderador
|
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:
|
|
13-dic-2006, 03:30 | #5 |
Marcianitos Team
|
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 |
13-dic-2006, 17:31 | #6 |
Marcianitos Team
|
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 Saludos |
13-dic-2006, 18:22 | #7 |
Moderador
|
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. |
13-dic-2006, 21:00 | #8 |
Marcianitos Team
|
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 |
13-dic-2006, 21:05 | #9 |
Santo Inquisidor Marciano
|
y de que es el foro eh golfo
|
13-dic-2006, 22:08 | #10 |
Marciano
|
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 |