表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 触发器中,根据一个表修改另外一个表

求助sql语句,多个join嵌套

MySQL 触发器用于在更新当前表中的值时更新另一个表

MySQL触发器初试:当A表插入新记录,自动在B表中插入相同ID的记录

SQL Server 触发器 - 一个失败一个没有