їEvitar tener que re-crear la base de datos?
#1

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?
Reply
#2

mmm, no entiendo que tratas de decir, que usas mysql o SqlLite??
Reply
#3

їAsi?

PHP код:
ALTER TABLE tablaoriginal ADD fila_nueva VARCHAR(20NULL
Reply
#4

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?
Reply
#5

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;
}
Reply
#6

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?
Reply
#7

Quote:
Originally Posted by Ghost112397
Посмотреть сообщение
Eso irнa en OnGamemodeInit, debajo del CREATE TABLE IF NOT EXISTS?
Vuelve a leer el post.
Reply
#8

Quote:
Originally Posted by Jastak
Посмотреть сообщение
Vuelve a leer el post.
Muchнsimas gracias!!!

EDIT: Acabo de comprobar y la fila no se crea :/
Reply
#9

їMe podrнas terminar de ayudar en el post mнo con lo que te preguntй? disculpe por desvirtuar tema, necesito terminar eso.
Reply
#10

їY si directamente agrego las nuevas filas desde el DB Browser?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)