Intento eliminar la restricción única para la columna en h2, creada anteriormente como info varchar(255) unique
.Eliminando la restricción única para la columna en H2
me trataron:
sql> alter table public_partner drop constraint (select distinct unique_index_name from in
formation_schema.constraints where table_name='PUBLIC_PARTNER' and column_list='INFO');
pero sin éxito (como sigue):
Syntax error in SQL statement "ALTER TABLE PUBLIC_PARTNER DROP CONSTRAINT ([*]SELECT DISTI
NCT UNIQUE_INDEX_NAME FROM INFORMATION_SCHEMA.CONSTRAINTS WHERE TABLE_NAME='PUBLIC_PARTNER
' AND COLUMN_LIST='INFO') "; expected "identifier"; SQL statement:
alter table public_partner drop constraint (select distinct unique_index_name from informa
tion_schema.constraints where table_name='PUBLIC_PARTNER' and column_list='INFO') [42001-1
60]
Cómo esta restricción debe ser eliminado correctamente?
Por cierto:
sql> (select unique_index_name from information_schema.constraints where table_name='PUBLI
C_PARTNER' and column_list='INFO');
UNIQUE_INDEX_NAME
CONSTRAINT_F574_INDEX_9
(1 row, 0 ms)
parece devolver una salida correcta.
Gracias, Thomas! Esperaba que respondiera personalmente a mi pregunta :) El problema es que su solución es obvia para mí, y de todos modos aceptaré su respuesta como útil. Lo malo es que lo necesito para automatizar mi script delta sin intervención manual: ((( – Alec
) Obtuve "Restricción no encontrada". Me funcionó con "constraint_name" en lugar de "unique_index_name", por lo que la selección era 'seleccionar constraint_name distinta de en formation_schema.constraints donde nombre_tabla = 'PUBLIC_PARTNER' y column_list = 'INFO'' Uno puede también restringir adicionalmente el tipo de restricción por agregando' y CONSTRAINT_TYPE =' UNIQUE'' Mi versión H2 fue de 1,3 .166 por cierto –
MartinGrotzke
@MartinGrotzke ¡Gracias! He actualizado mi respuesta (también había un error tipográfico en "information_schema"). –