їEvitar tener que re-crear la base de datos? -
Ghost112397 - 29.09.2015
Buenas, quisiera saber si puedo evitar tener que re-crear la base de datos del servidor cada vez que agrego una nueva fila, por ejemplo: Si yo agrego `Dinero` en la tabla, tengo que borrar la tabla y que el servidor la vuelva a crear.
їExiste de algъn modo evitar que eso pase al agregar una nueva fila?
Re: їEvitar tener que re-crear la base de datos? -
Jastak - 29.09.2015
mmm, no entiendo que tratas de decir, que usas mysql o SqlLite??
Re: їEvitar tener que re-crear la base de datos? -
H@hn - 29.09.2015
їAsi?
PHP код:
ALTER TABLE tablaoriginal ADD fila_nueva VARCHAR(20) NULL;
Respuesta: їEvitar tener que re-crear la base de datos? -
Ghost112397 - 29.09.2015
Uso SQLite, el problema es que cuando yo agrego algo mбs a la tabla, tengo que borrarla y que el servidor la vuelva a crear para que se guarden los datos de esa fila.
PHP код:
db_free_result(db_query(servidor, "CREATE TABLE IF NOT EXISTS `jugadores` \
(`ID` INTEGER PRIMARY KEY AUTOINCREMENT, \
`Nombre` VARCHAR(24) NOT NULL, \
`Password` VARCHAR(24) NOT NULL, \
`Admin` INTEGER NOT NULL, \
`Score` INTEGER NOT NULL, \
`Matados` INTEGER NOT NULL, \
`Muertes` INTEGER NOT NULL, \
`Baneado` INTEGER NOT NULL, \
`Dinero` INTEGER NOT NULL)")); // Al agregar la nueva fila de dinero, tengo que recrear la tabla para que se pueda guardar datos en esa fila.
їPuedo evitar eso?
Re: їEvitar tener que re-crear la base de datos? -
Jastak - 29.09.2015
como dice H@hn, creo que la forma es hacer como una funciуn que solo le ejecutes una vez para crear las tablas.. "ALTER TABLE `jugadores` ADD `AA` INT NOT NULL ;"
un ejemplo creo que serнa esto:
Код:
stock Consulta_NuevasFilas(nombre_tabla[], nombre[], tipo, longitud=120)
{
new s[70];
if(tipo == 0) // Intero
{
format(s, sizeof(s), "ALTER TABLE `%s` ADD `%s` INT NOT NULL ;", nombre_tabla, nombre);
}
else // Varchar
{
format(s, sizeof(s), "ALTER TABLE `%s` ADD `%s` VARCHAR(%i) NOT NULL ;", nombre_tabla, nombre, logintud);
}
db_query(servidor, s);
return 1;
}
#define CREATE_NEW_ROWS
public OnGameModeInit()
{
#if defined CREATE_NEW_ROWS
Consulta_NuevasFilas("jugadores", "Dinero", 0);
Consulta_NuevasFilas("jugadores", "Contra2", 1, 140);
#endif
return 1;
}
Respuesta: Re: їEvitar tener que re-crear la base de datos? -
Ghost112397 - 29.09.2015
Quote:
Originally Posted by Jastak
como dice H@hn, creo que la forma es hacer como una funciуn que solo le ejecutes una vez para crear las tablas.. "ALTER TABLE `jugadores` ADD `AA` INT NOT NULL ;"
|
Eso irнa en OnGamemodeInit, debajo del CREATE TABLE IF NOT EXISTS?
Re: Respuesta: Re: їEvitar tener que re-crear la base de datos? -
Jastak - 29.09.2015
Quote:
Originally Posted by Ghost112397
Eso irнa en OnGamemodeInit, debajo del CREATE TABLE IF NOT EXISTS?
|
Vuelve a leer el post.
Respuesta: Re: Respuesta: Re: їEvitar tener que re-crear la base de datos? -
Ghost112397 - 29.09.2015
Quote:
Originally Posted by Jastak
Vuelve a leer el post.
|
Muchнsimas gracias!!!
EDIT: Acabo de comprobar y la fila no se crea :/
Respuesta: їEvitar tener que re-crear la base de datos? -
Fagrinht - 29.09.2015
їMe podrнas terminar de ayudar en el post mнo con lo que te preguntй? disculpe por desvirtuar tema, necesito terminar eso.
Respuesta: їEvitar tener que re-crear la base de datos? -
Ghost112397 - 29.09.2015
їY si directamente agrego las nuevas filas desde el DB Browser?