У меня есть две таблицы:
Отчет
проверки
Идентификатор столбца в таблице "Отчет" имеет ИИ (автоинкремент включен и установлен в Первичный ключ)
Идентификатор столбца в таблице "Проверки" имеет ИИ (автоматическое увеличение и индексирование)
Вот мои внешние ограничения ключей, созданные под "проверками" Таблица:
Внешний ключ
Что мне нужно сделать:
Запрос Powershell:
"INSERT INTO Checks (WiFi, принтеры, блокнот) VALUES (" $ WiFi "," $ Printers "," $ NotepadPlus ")
Должен ли я создать триггер в phpmyadmin в этом случае? и если бы кто-нибудь мог помочь с этим?
Нужно ли указывать идентификатор в моей команде Powershell выше? если да, как это можно сделать?
Заранее спасибо,
Да, вы можете указать ID в команде PowerShell.
Я предполагаю, что вы используете команду Powershell для вставки в Reports
. Чтобы захватить новый идентификатор, вы можете использовать $command.LastInsertedId
и его можно использовать при вставке в таблицу checks
.
Надеюсь, поможет.
SQL для создания TRIGGER для вставки идентификатора в таблицу проверок:
CREATE DEFINER = CURRENT_USER TRIGGER 'dbname'.'trigger_name' AFTER INSERT ON 'Report' FOR EACH ROW
BEGIN
insert into Checks (id) values (NEW.id)
END
Но TRIGGER не может вставлять значения "$ WiFi", "$ Printers", "$ NotepadPlus". Вам необходимо установить эти значения, обновив строку, связанную с новым вставленным ID в вашем PHP-коде.
trigger_report
ПОСЛЕ ВСТАВКИ НАreport
для каждой строки вставки в Проверки (ID) значения (NEW.id) и добавили это мой Powershell запрос: $ ChecksID = $ query1.LastInsertedId