Mailinglist Archive: opensuse-es (1673 mails)

< Previous Next >
Mis tribulaciones con las bases de datos.
  • From: "Carlos E. R." <robin1.listas@xxxxxxxxxx>
  • Date: Tue, 23 Nov 2004 02:38:16 +0100 (CET)
  • Message-id: <Pine.LNX.4.58.0411230142110.8467@xxxxxxxxxxxxxxxx>

Hola:

Pues sigo probando rekall - el que viene con la 9.1. He empezado haciendo
una basecilla de datos (tipo XBase/XBSQL) para mi lista de libros, con
varias tablas ligadas: libros, autores, editoriales, generos, etc. Si, yo
soy enrevesado para estas cosas: no es una tabla única. O:-)

Es parte, funciona, pero hecho de menos prestaciones que tenía en access.
Ojo: no empecemos, que os conozco: simplemente ahí es donde hacía antes
mis basecillas, y ahora las quiero hace aquí. Y busco cosas parecidas, o
maneras de hacer las cosas de manera parecida.

Por ejemplo, este formato no tiene un campo "autoincrement", que es el que
me gusta para el indice. El tipo Char parece limitado a 48 caracteres, y
necesito mucho más para las sinopsis y las bigrafías. Y el diseño de
formulario me parece un tanto "raro", y en el modo "todos los registros en
el formulario" no me permite un poner el campo "A" debajo del "B", tiene
que estar al lado. Bueno, puede que esas cosas ya estén en la nueva
version.


Así que sigo haciendo pruebas, y me paso a mysql.

El "rcmysql start" funciona de maravilla, no problems. Hago como me dicen,
y pongo el password:

nimrodel:~ # mysqladmin -u root password ******
nimrodel:~ # mysqladmin -u root -h `hostname` password ****

Me parece raro tener que hacerlo dos veces, pero después de mirar por
encima la documentación, lo hago. Si bwana. :-)


Hecho un vistazo con "mysqlcc". Parece que tengo que crearme mi propio
usuario, pues lo hago. Entro como "root" (que no le he puesto la misma
password del root del sistema, por si acaso). Creo el usuario, le doy una
password, y... primera duda.

¿Que leches de permisos le tengo que dar? Porque veo una tabla "test", que
será para probatinas, imagino. Hay una base "mysql" con las tablas
columns_priv, db, func, host, tables_priv, user. ¿Le tengo que dar acceso?
¿Y con que privilegios? ¿Con grant o sin grant?

Claro, estos son las historias con las que tropieza uno que viene del
access, aunque fuera hace años: porque el "rekall" me dice que el no puede
crear bases de datos mysql, que tienen que ser existentes.

Fale.

Pues le doy acceso a absolutamente todo. Seguro que está mal, pero así no
me dirá que no, ¿no?

Pues no.

Creo, con el mysqlcc, una base de datos (Biblioteca), con mi usuario
(cer). Creo una tabla, con dos campos: Key (bigint(20)) y Titulo
(varchar(100)). Si ahora quiero añadir un nuevo campo, el mysqlcc peta con
"Segmentation fault".

¡NO puedo insertar campos en una tabla existente! :-/

Ya me direis, o me la invento sin ningún error desde el primer instante, o
no hay nada que hacer.


Bueno, ¿y el rekall?

Puedo ver la base de datos. Puedo ver la estuctura de la tabla "Libros",
con sus dos campos, "Key" y "Titulo". Pero no puedo abrirla:

select Libros.Key, Key, Titulo from Libros
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 'Key,
Titulo from Libros' at line 1"

¿MANDE? ¿En _MI_ syntaxis SQL? Pero si yo no se nada de sql, para eso
estoy usando rekall, para que EL me escriba lo que tenga que escribir apra
que funcione.

Y, ¿tratar de crear yo una tabla desde rekall? Pues tampoco funciona:

create table Autores
( Key BigInt not null primary key auto_increment,
Autor Char(50) not null
)
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 'BigInt not
null primary key auto_increment,
Autor Char(50) not

Así que.... finito, bloqueado.


¿Que hago?


[...]

Ya he descubierto algo más: Si el campo clave, en rekall, en vez de
llamarlo "Key" lo llamo "indice", si que funciona. ¡¿Sera posible!? :-OO

Es más, el mysqlcc, si cambio el nombre de ese campo "Key" a indice,
también me permite insertar campos, ya no casca. Bueno, no siempre,
depende.

¡¡RAYOS!!

:-?


Estoy viendo que tengo que hacer unas cosas en rekall, y otras en mysqlcc.
Cada cual tose en algunas...

--
Saludos
Carlos Robinson


< Previous Next >