Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Poner límite de filas a una tabla

Estas en el tema de Poner límite de filas a una tabla en el foro de Mysql en Foros del Web. Bueno, estoy desarrollando una pequeña aplicación y parte de ella depende de unos datos únicos, podríamos decir que es para una empresa, pues esos datos ...
  #1 (permalink)  
Antiguo 31/10/2010, 07:04
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 15 años, 3 meses
Puntos: 1
Pregunta Poner límite de filas a una tabla

Bueno, estoy desarrollando una pequeña aplicación y parte de ella depende de unos datos únicos, podríamos decir que es para una empresa, pues esos datos serían noombre empresa, telefono, direccion,... Bueno, me lo monte de forma que un archivo de instalación salta cuando la tabla "empresa" esta vacía, para que el usuario meta los datos de la misma mediante un formulario. Una vez se compruebe que esa tabla tiene una fila (osea ha sido rellenada) ya se puede acceder a la aplicación.. A priori lo que me interesa es alguna forma de indicar a esa tabla que no permita que se le añadan más filas.. Osea el límite sea 1 fila..

Mi pregunta es como podría hacerlo?

Un saludo y gracias :)
  #2 (permalink)  
Antiguo 31/10/2010, 07:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Poner límite de filas a una tabla

Cita:
Mi pregunta es como podría hacerlo?
Solamente por programación...
MySQL no tiene funciones ni propiedades de las tablas que permitan un límite de registros en ella. Si te fijas en el manual, una de las clausulas del CREATE TABLE dice que tiene las cláusulas MAX_ROWS y MIN_ROWS, pero también aclara:
Cita:
- MAX_ROWS
Máximo número de registros que planea almacenar en la tabla. No es un límite absoluto, sino un indicador que la tabla debe ser capaz de almacenar al menos estos registros.

- MIN_ROWS
Mínimo número de registros que planea almacenar en la tabla.
Por lo que no cumple estrictamente con lo que buscas.

En resumen: Lo tienes que manejar en el programa...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 31/10/2010, 07:26
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Poner límite de filas a una tabla

Ok, bueno pues muchas gracias, ya se por donde tengo que ir :)
  #4 (permalink)  
Antiguo 31/10/2010, 09:09
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Poner límite de filas a una tabla

Otra opción que se me ocurre es con un trigger.

Aunque nunca lo haya probado.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 31/10/2010, 12:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Poner límite de filas a una tabla

Lo del trigger es una propuesta que he leído varias veces, per realmente nunca la he probado, porque me presenta una duda: No sé si se puede cancelar un proceso en ejecución, que sería el caso de un BEFORE INSERT.
Es el caso de que el INSERT comienza a ejecutarse, pero antes de insertar el registro, comprueba si ya se llegó al límite y, de haberlo hecho, debe cancelar la inserción... Pero no sé si un TRIGGER tiene esa capacidad.
De lo que estoy seguro es de que no puede borrar un registro para hacerle lugar al nuevo, porque no se permiten (al menos en MySQL) operaciones DML contra la misma tabla en que se está haciendo la inserción.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 31/10/2010, 18:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Poner límite de filas a una tabla

Como dices... en otros dbms como oracle y postgresql esto es posible.

creo que tienes razón y en mysql esto si presenta problemas.

Por programación sea en tu lenguaje o en un procedure de mysql esto que comenta gnzsoloyo ya no sería un problema.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: filas, limite, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:50.