Hola Emmanuel

Eso lo podrías restringir en el MySQL creando una índice compuesto único.
O sea... creas un índice y agregas todas las columnas que quieras que no se
repitan y le agregas a ese índice que el atributo de único. Esto haría
que el MySQL genere un error (excepción) cuando trates de insertar un
registros con iguales valores en estos campos que otro existente.

Saludos.

On 6/14/07, Emmanuel Oga <[EMAIL PROTECTED]> wrote:

Que tal! Necesito hacer lo siguiente, a ver si se les ocurre algo:

Mi cliente guarda unos documentos usando la siguiente numeracion:

2007: Documento 1
2007: Documento 2
2007: Documento 3
2007: ... etc

2008: Documento 1
2008: Documento 2
2008: Documento 3
2008: ... etc

Cada vez que el año pasa se "resetea" el numero de documento. Podria
expresarlo en una tabla asi:

Tabla: documentos
id: integer, pk
year: integer
number: integer
description: text
etc...

Ahora bien, mi base mysql restringe la tabla de manera que nunca se repita
el id de registro. Como puedo forzar que no se repita la combinacion
año-numero de la tabla?

ej;

registro1
1, 2007, 1, "primer registro" # ok
2, 2007, 2, "segundo registro" # ok
3, 2007, 3, "tercer registro" # ok
4, 2008, 1, "primer registro" # ok. Al cambiar de año resetea
automaticamente el numero
5, 2008, 2, "segundo registro" # ok
6, 2008, 3, "cuarto registro" # ok, el cliente se equivoco al describir el
registro pero esta ok.
7, 2008, 3, "cuarto registro" # MAL! no puede haber dos registros numero
"3" en el 2008, por mas que tengan id diferente!

Quiero que mi sistema restrinja la combinacion año-numero asi como
restringe el id: no permite que halla dos numeros de id iguales. Es esto
posible? Como lo manejaria ActiveRecord?

Gracias!

------------------------------
*Preguntá. Respondé. Descubrí.*
Todo lo que querías saber, y lo que ni imaginabas,
está en *Yahoo! Respuestas* (Beta).
*¡Probalo ya! <http://ar.answers.yahoo.com/>*


_______________________________________________
ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar




--
Lautaro Bonetto
Intermedia Systems
http://www.intermediasystems.com.ar
_______________________________________________
ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a