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

118
Vistas
MySQL: Agregar columna calculada con IF ELSEIF

Estoy luchando con un escenario de Alter Table. Tengo una tabla de "ejemplo" con las columnas 1 a 3 existentes. Quiero agregar una columna "destino" que debería contener un valor de la columna 2 o de la columna 3 según la columna 1. Probé el siguiente código pero arroja errores en la primera línea de la instrucción IF. El error está en la referencia de la columna 1, está esperando un paréntesis de apertura, pero cuando pongo la condición de la cláusula IF entre paréntesis, está rechazando la función ENTONCES. MySQL 8.0 Consulte el código a continuación. ¿Quién puede ayudar? Muchas gracias, Tomás

 ADD COLUMN ( Destination VARCHAR(15) GENERATED ALWAYS AS ( IF column1 = "north" THEN SET destination = column2 ELSEIF column1 = "south" THEN SET destination = column3 ELSE SET destination = "" END IF ) STORED ) ;
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar la siguiente sintaxis ( que contiene CASE..WHEN..ELSE Declaración en lugar de IF..THEN..ELSE ) de la columna generada que se publica en la versión DB 5.7+:

 ALTER TABLE t1 ADD COLUMN ( Destination VARCHAR(15) GENERATED ALWAYS AS ( CASE WHEN column1 = "north" THEN column2 WHEN column1 = "south" THEN column3 END ) STORED )

sin asignación a la propia columna derivada y sin cláusula set .

Manifestación

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