Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

225
Vistas
¿Solo permitir que la columna tenga verdadero una vez para cada identificación?

tengo esta tabla:

 ID | genre_id | is_best_in_genre | movie_name -------------------------------- 1 | 3 | 0 | Hateful Eight 2 | 3 | 0 | Django Unchained 2 | 3 | 1 | Inglorious B 2 | 3 | 0 | Once Upon A Time in Hollywood

is_best_in_genre solo puede ser verdadero (1) una vez por cada genre_id . Solo puede haber 1 mejor película en cada género. ¿Cómo haría una restricción como esta?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Idea alternativa:

La forma más adecuada y normalizada de manejar esto es probablemente hacer una tabla 'best_in_genre' separada con una restricción única en genre_id .

Esto también es más fácil de actualizar, porque no es necesario que se asegure de que todo esté en 0 al seleccionar un nuevo 'mejor'.

over 4 years ago · Santiago Trujillo Denunciar

0

Un mejor enfoque podría ser "mover" la columna is_best_in_genre a una tabla separada (unida). Una tabla simple con dos columnas podría hacer el trabajo:

 CREATE TABLE best ( idmovie int, idgenre int, PRIMARY KEY (idgenre))

Esto tendría que ser unido con la tabla original como:

 SELECT m.*, CASE b.idmovie>0 THEN 1 ELSE 0 END best_in_genre FROM movietable m LEFT JOIN best b ON idmovie=id AND idgenre=genre_id

La restricción PRIMARY KEY best la tabla se asegurará de que cada género solo pueda aparecer una vez.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda