Для того чтобы сделать столбец в родительской таблице главным для внешнего ключа (foreign key) в MySQL, необходимо выполнить несколько шагов. Предположим, у нас есть две таблицы: parent_table
и child_table
, и мы хотим установить внешний ключ из таблицы child_table
на столбец main_column
таблицы parent_table
.
1. Первоначально, у столбца main_column
в таблице parent_table
должен быть уникальный ключ или быть первичным ключом. Для этого выполните следующий SQL-запрос:
ALTER TABLE parent_table ADD PRIMARY KEY (main_column);
или
ALTER TABLE parent_table ADD UNIQUE (main_column);
2. Затем создайте внешний ключ в таблице child_table
, указав столбец, который будет ссылаться на main_column
в таблице parent_table
. Для этого используйте следующий SQL-запрос:
ALTER TABLE child_table ADD CONSTRAINT fk_name FOREIGN KEY (reference_column) REFERENCES parent_table(main_column);
где fk_name
- имя внешнего ключа, reference_column
- столбец в таблице child_table
, который будет ссылаться на main_column
таблицы parent_table
.
После выполнения этих шагов столбец main_column
в таблице parent_table
станет основным для внешнего ключа в таблице child_table
. В случае нарушения целостности данных (например, попытки добавить значение в child_table
, которого нет в parent_table
), MySQL будет предотвращать такие действия.