Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: brbstr en 28 Mayo 2016, 14:34 pm



Título: Limitar el número de registros en una tabla con MYSQL
Publicado por: brbstr en 28 Mayo 2016, 14:34 pm
Hola!

Tengo una tabla en la cual almaceno 4 imágenes con sus respectivos id, pero no voy almacenar mas.
Si elimino una foto que tiene la id 2 y la quiero cambiar por otra no quiero que me inserte el registro 5 sino que se inserte en ese hueco que queda libre, y a demás quiero, si se puede, limitar la tabla a que sólo puedan insertarse 4 registros.

No se si todo esto es posible a ver si alguien puede ayudarme.

Muchas gracias.

Un saludo.


Título: Re: Limitar el número de registros en una tabla con MYSQL
Publicado por: [u]nsigned en 3 Junio 2016, 21:08 pm
1) Por lo general los id son auto_increment, así que si o si se te generaría un id 5...
2)En lugar de borrar el 2 y agregar otro registro con el mismo ID, directamente hace un update al campo con ID 2 con los nuevos valores
3) MySQL no ofrece una forma nativa de limitar la cantidad de registros en una tabla de forma nativa. Esto lo tendrias que hacer desde la logica de tu aplicación, con PHP por ejemplo, pero con lo que ya te dije en los dos puntos anteriores seria inutil.

Y por ultimo si solo queres una colección de 4 elementos ni te molestes en usar bases de datos, mejor seria guardar los datos en un archivo de texto plano, JSON, XML, INI, etc...

Saludos!!!


Título: Re: Limitar el número de registros en una tabla con MYSQL
Publicado por: joserene en 9 Junio 2016, 08:17 am
Hola buenas noches Amigo
Mira no conozco ninguna funcion que haga lo que dices

Lo tendriamosque hacer desde programacion validadndo:

1.-el valor de PK en la tabla debe ser id y auto_increment
2.- Tendriamos que hacer una consulta a la tabla y verificar el id autoincremental
3.-Okay, ya que hayamos hecho la consulta en la base de datos nos devolvera un valor, ejemplo:
podriamos guardarlo en una variable
int Valor=valor que trae la consulta
if(Valor<=100)
{
  que ya no inserte
}else
{
 que inserte, colocamos la insercion aqui
}
NOTA:El 100 seria el valor maximo de registros permitidos.

Buenas noches saludos!!!
Jose Rene Avalos Almaraz