Hi,
I have a patching script that is supposed to add column if not existing :
ALTER TABLE myschem.table1
ADD COLUMN IF NOT EXISTS col1 VARCHAR(254) REFERENCES myschem.table2(col2)
When col1 exists, I expected that nothing would happen. But, when applying this query
select constraint_name from information_schema.key_column_usage where constraint_schema='myschem'
I notice that a new constraint "table1_col2_fkeyxxx" is created each time the previous ALTER TABLE is called (with xxx being a new number each time)
Can someone explain why, when a column is not created (if not exists), a redundant constraint is still created from the REFERENCES part ?
Thanks,
Olivier