I want to change a table by adding a column. So far nothing to see here, BUT I would like to make this column part of a composite key, i.e., I now have a layout
table_name( Field_1 datatype PK, Field_2 datatype,....)
and I want the inserted column, say Field_k to be part of a PK jointly with the existing single-field PK.
I haven't found any source for how to do this or for whether it is possible or not. Any advice, please?
Best Answer
You need to drop the FKs that reference it, then drop the PK and re-create it, then re-create the FK. There's no magic syntax for this, but you can get some ideas here for how to generate the drop/create scripts for the FKs:
You won't be able to drop the PK while any FK still references it. And of course you won't be able to re-create the FK until those other tables also have a column that can fill in for the new column you're adding to the PK.