2017-12-25 22 views
0

次のように私は2つのテーブルを持っている:表 "レポート" にトリガID

報告 reports

チェック

check

ID列は、AI(自動を有します-Incrementが有効でプライマリキーに設定されています)

テーブル「チェック」のID列にはAI(Auto-Incremenここでは)無効とインデックストン

は「チェック」表の下に作成された私の外部キー制約です:

外部キー enter image description here

私は達成するために必要なものです:

  • 私は実行するたびに私のPowershellのクエリは、新しい行をテーブル "レポート"に挿入するために、私は同じIDが "チェック"テーブルのID列の下に書き込まれる必要があります。

PowerShellのクエリ:

"(無線LAN、プリンター、メモ帳)VALUES( '$無線LAN'、 '$プリンター'、 '$ NotepadPlus')をチェックします。INSERT INTO"

  • 万一この場合、phpmyadminにトリガーを作成しますか?もしそうなら誰もこの助けてください?

  • 上記のPowershellコマンドでIDを指定する必要がありますか?はいの場合、どうすればこのことができますか?

はい、あなたはPowerShellコマンドでIDを指定することができ、事前に

答えて

0

、ありがとうございました。

Powershellコマンドを使用してReportsにも挿入していると仮定します。生成された新しいIDを取得するには$command.LastInsertedIdを使用し、checksテーブルに挿入して使用することができます。

希望します。小切手のテーブルにIDを挿入するためにトリガーを作成するための

0

SQL:

CREATE DEFINER = CURRENT_USER TRIGGER `dbname`.`trigger_name` AFTER INSERT ON `Report` FOR EACH ROW 
BEGIN 
insert into Checks (id) values (NEW.id) 
END 

しかし、値 '$無線LAN'、 '$プリンター'、 '$ NotepadPlusは' TRIGGERによって挿入することができません。これらの値は、PHPコード内の新しい挿入IDに関連する行を更新することによって設定する必要があります。

+0

私はトリガーを作成しました:CREATE TRIGGER 'trigger_report' AFTER INSERT ON' report' 各行に対してチェック(ID)値(NEW.id)を挿入し、これをpowershellクエリに追加しました:$ ChecksID = $ query1.LastInsertedId – user8160389