表A至表B中的触发ID
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表A至表B中的触发ID相关的知识,希望对你有一定的参考价值。
我有两张表如下:
报告
检查
表“报告”上的ID列具有AI(启用自动增量并设置为主键)
表“检查”上的ID列具有AI(自动增量禁用和索引)
这是我在“检查”表下创建的外键约束:
外键
我需要完成的是:
- 每当我运行我的Powershell查询以在表“Report”中插入新行时,我需要使用相同的ID来写入“Checks”表的ID列。
Powershell查询:
“INSERT INTO Checks(WiFi,打印机,记事本)价值('$ WiFi','$ Printers','$ NotepadPlus')”
- 在这种情况下我应该在phpmyadmin中创建一个触发器吗?如果是这样,有人可以帮忙吗?
- 我是否需要在上面的Powershell命令中指定ID?如果是的话怎么可以这样做?
先感谢您,
答案
是的,您可以在PowerShell命令中指定ID。
我假设您正在使用Powershell命令插入Reports
。要捕获生成的新ID,您可以使用$command.LastInsertedId
,并且可以在插入checks
表时使用它。
希望能帮助到你。
另一答案
用于创建TRIGGER以将ID插入Checks表的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
但TRIGGER无法插入价值'$ WiFi','$ Printers','$ NotepadPlus'。您需要通过在PHP代码中更新与新插入的ID相关的行来设置这些值。
以上是关于表A至表B中的触发ID的主要内容,如果未能解决你的问题,请参考以下文章
用触发器如何在java中删除数据库中两个表中的记录(两个表有关联如表A.aID=表B.bID)
SQL Server2008 触发器中,根据一个表修改另外一个表