[Ayuda] Mysql R6 -
Caja_negra - 01.11.2013
hola samp, estoy utilizando mysql r6(de BlueG),y quisiera saber como puedo obtener la id mas pequeсa que no se este utilizando/creada, lo explicare grбficamente.
----------------------------- Tabla.Jugadores
Id | Nombre | Etc....
0 | User... |
1 | User... |
3 | User... |
5 | User... |
6 | User... |
9 | User... |
------------------------------
Lo que yo necesito es que con una consulta me detecte la id 2 que en el grбfico no aparece...si alguien tiene alguna guнa o tutorial que me ayude se lo agradecerнa mucho.
Espero que alguien pueda ayudarme ,Gracias.
Respuesta: [Ayuda] Mysql R6 -
Caja_negra - 03.11.2013
nadie?
Respuesta: [Ayuda] Mysql R6 -
MillerUTL - 03.11.2013
їLo que quieres es que la consulta te devuelva el valor ID pero salteбndose en 2 en 2?
Osea, їQuй es lo que quieres lograr con esto?
Respuesta: [Ayuda] Mysql R6 -
Caja_negra - 03.11.2013
Quote:
Originally Posted by MillerUTL
їLo que quieres es que la consulta te devuelva el valor ID pero salteбndose en 2 en 2?
Osea, їQuй es lo que quieres lograr con esto?
|
mira si tu en una table tienes las ids: 0,1,4,6,7, etc... esas ids estбn creadas por lo tanto se estбn utilizando
yo lo que quiero es que al hacer la consulta me diga que la id mas pequeсa y disponible(sin usar) es"2"
en caso de que fuese 0,1,2,4,6,7 etc...
me tendrнa que devolver 3, me entiendes?
Respuesta: [Ayuda] Mysql R6 -
MillerUTL - 03.11.2013
Quote:
mira si tu en una table tienes las ids: 0,1,4,6,7, etc... esas ids estбn creadas por lo tanto se estбn utilizando
yo lo que quiero es que al hacer la consulta me diga que la id mas pequeсa y disponible(sin usar) es"2"
en caso de que fuese 0,1,2,4,6,7 etc...
me tendrнa que devolver 3, me entiendes?
|
Por lo que conozco no existe dicha funciуn, pero: їComo es que tienes las id como en el ejemplo: 0, 1, 4, 6, 7, y no las tienes como 0, 1, 2, 3, 4, 5, 6, 7?
Porque podrнamos arreglar lo que tu quieres desde ahн, es decir:
Esto podrнa generarse al eliminar la cuenta id 2, que quedarнa 0, 1, 3, 4, 5, 6, 7 y en ese caso lo podrнamos arreglar.
Por eso vuelvo a preguntar, їComo es que tienes las id como en el ejemplo: 0, 1, 4, 6, 7, y no las tienes como 0, 1, 2, 3, 4, 5, 6, 7, en que momento es que se te ponen las id asн?
Respuesta: [Ayuda] Mysql R6 -
Caja_negra - 03.11.2013
no me las pone xD, es un simple ejemplo haber mira tu piensa lo si siguiente y nada mas solo esto:
Tienes la tabla Jugadores con las ids:
0
1
3
4
5
6
7
etc....
bien en esa tabla al crearse un jugador nuevo, quiero que busque a id mas pequeсa que NO este creada osea 2,
si sabrнas ayudarme mejor hablemos por pm, Gracias.
Respuesta: [Ayuda] Mysql R6 -
adri1 - 03.11.2013
mmm, prueba asн:
pawn Код:
stock numid()
{
new numid = -1;
for(new i = 0; i != MAX_PLAYERS; i ++)
{
new Query[150], DBResult:Result;
format(Query, sizeof(Query), "SELECT * FROM `TABLA` WHERE `ID` = '%d'", i);
Result = db_query(Database, Query);
if(!db_num_rows(Result))
{
numid = i;
break;
}
}
return numid;
}
Respuesta: [Ayuda] Mysql R6 -
oOFotherOo - 03.11.2013
Quote:
Originally Posted by adri1
mmm, prueba asн:
pawn Код:
stock numid() { new numid = -1; for(new i = 0; i != MAX_PLAYERS; i ++) { new Query[150], DBResult:Result; format(Query, sizeof(Query), "SELECT * FROM `TABLA` WHERE `ID` = '%d'", i); Result = db_query(Database, Query); if(!db_num_rows(Result)) { numid = i; break; } } return numid; }
|
Esta funcion enviara muchas consultas la cual a la vez produce LAG. Seсor Caja_Negra la verdad es que no existe dicha funcion, puede usar el metodo de Adri1 pero recuerde que este metodo no sirve si por ejemplo es un sistema infinito como los son las cuentas de usuarios.
PD: Si quiere evitar este problema basta con eliminar la columna que contiene la ID y updatear las consultas de una fila con el nombre del usuario y problema resuelto.
Un saludo.
Respuesta: [Ayuda] Mysql R6 -
adri1 - 03.11.2013
Quote:
Originally Posted by oOFotherOo
Esta funcion enviara muchas consultas la cual a la vez produce LAG. Seсor Caja_Negra la verdad es que no existe dicha funcion, puede usar el metodo de Adri1 pero recuerde que este metodo no sirve si por ejemplo es un sistema infinito como los son las cuentas de usuarios.
PD: Si quiere evitar este problema basta con eliminar la columna que contiene la ID y updatear las consultas de una fila con el nombre del usuario y problema resuelto.
Un saludo.
|
Si, de todas formas no se para que guardas la ID del player, ya que eso cambia siempre...
Respuesta: [Ayuda] Mysql R6 -
hotspicytaco - 03.11.2013
Encontrar la
ID mбs pequeсa que
NO estй creada:
Код:
SELECT Id+1 FROM `Jugadores` n WHERE NOT EXISTS(SELECT * FROM `Jugadores` WHERE Id = n.Id + 1) ORDER BY Id LIMIT 1
Insertar algo donde la
ID mбs pequeсa
NO estй creada:
Код:
INSERT INTO `Jugadores` (`id`, `nombre`) SELECT id + 1, 'Alfredo' FROM `Jugadores` n WHERE NOT EXISTS(SELECT * FROM `Jugadores` WHERE id = n.id + 1) ORDER BY id LIMIT 1