Php 如何通过在SQL中的其他表中创建行来在表中添加行?

Php 如何通过在SQL中的其他表中创建行来在表中添加行?,php,mysql,sql,Php,Mysql,Sql,因此,我有一个名为“client”的表,其中包含一个带有auto\u increment的PK id(int),还有一个名为“profileImg”的选项卡,带有auto\u increment的PK id(int)和一个FK idUser(int)(在删除级联时引用client.id) 在“客户端”表中插入新行时,我想在“profileImg”表中添加一行(自动),因为 在前面,这意味着客户机在注册时自动拥有一个配置文件映像(默认映像) 只有SQL有办法做到这一点吗?您描述的是客户端上的插入触

因此,我有一个名为“client”的表,其中包含一个带有
auto\u increment
PK id(int),还有一个名为“profileImg”的选项卡,带有
auto\u increment
PK id(int)和一个FK idUser(int)
在删除级联时引用client.id

在“客户端”表中插入新行时,我想在“profileImg”表中添加一行(自动),因为

在前面,这意味着客户机在注册时自动拥有一个配置文件映像(默认映像)


只有SQL有办法做到这一点吗?

您描述的是
客户端上的插入触发器
。您应该从了解这些开始。您描述的是
客户端上的插入触发器
。您应该从了解这些开始。虽然这些代码可以回答问题,但提供了额外的上下文g为什么和/或这段代码如何回答这个问题提高了它的长期价值。我已经用另一种方法解决了这个问题,但我认为不太安全,我所做的只是使用php,我用$sql stmt注册了一个客户端,然后我看到了id(我能够做到这一点,因为他们还必须使用唯一的昵称
从projeto中选择id,其中nick=?
?=
$nname=htmlspecialchars($_POST['nname']);
)注册到另一个stmt,最后插入值(使用第三个stmt)在profileImg上,我确实知道触发器可以做到这一点,但这是我所不知道的,我一定会在这个大学项目完成后研究这一点。虽然这段代码可能会回答这个问题,但提供了关于为什么和/或如何回答这个问题的额外上下文,提高了它的长期价值。我已经解决了这个问题我只是用php注册了一个客户机,使用$sql stmt,然后我看到了id(我能够做到这一点,因为他们还必须注册一个唯一的昵称
SELECT id FROM projeto,其中nick=?
?=
$nname=htmlspecialchars($\u POST['nname');
)使用另一个stmt,最后在profileImg上插入值(使用第三个stmt),我确实知道触发器可以做到这一点,但据我所知,在这个大学项目完成后,我肯定会研究这一点。
CREATE OR REPLACE TRIGGER add_profileImg_on_inser_client
AFTER INSERT ON client
FOR EACH ROW 
  INSERT INTO profileImg(idUser)
  VALUES (NEW.id);