Как вставить значение с помощью оператора select в mysql ?
У меня есть следующая команда SQL:
select COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'persons_data' AND REFERENCED_COLUMN_NAME = 'ID' AND TABLE_NAME = 'employees'
Это возвращает внешний ключ в дочерней таблице служащие то есть persons_data_ID Моя проблема в том, что я хочу вставить значение в это поле внешнего ключа, чтобы проиллюстрировать, что мне нужно, я покажу, что я пробовал.
Что я уже пробовал:
INSERT INTO `mySchema`.`persons_data` (`Name En`, `Address`, `National ID`) VALUES ('Noud', 'Tyjkl', '697851'); INSERT INTO `mySchema`.`employees` (select COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'persons_data' AND REFERENCED_COLUMN_NAME = 'ID' AND TABLE_NAME = 'employees') VALUES ( LAST_INSERT_ID());
Я ожидаю, что предыдущий код будет функционировать так же, как следующий, но это не так, я хочу знать, в чем заключается ошибка, которую я сделал?
INSERT INTO `mySchema`.`persons_data` (`Name En`, `Address`, `National ID`) VALUES ('Noud', 'Tyjkl', '697851'); INSERT INTO `mySchema`.`employees` (persons_data_ID) VALUES ( LAST_INSERT_ID());
CHill60
Что же он на самом деле сделал?
Ahmed AE
он вставляет 2 строки в 2 реляционные таблицы, которые связаны с внешним ключом. Я хочу автоматически получить имя внешнего ключа между 2 таблицами вместо того, чтобы вручную записывать его и использовать для вставки в него данных
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.