gpt4 book ai didi

php - 如何在php中插入mysql的自增字段id并将一张表的id更新为另一张表?

转载 作者:行者123 更新时间:2023-11-29 17:56:18 25 4
gpt4 key购买 nike

我有两个名为 run_test 和 file_email 的表。我想使用 php 插入 run_test 表。它工作正常。当我更新 run_test 时,id 字段也应该在 file_email 表中更新。

我不知道如何在 php 中使用 insert 语句来实现此目的。

在创建表时,我使用了这个查询。

create table run_test(id int not null auto_increment,url varchar(255),gh_url varchar(255),platform varchar(255),machine_size varchar(255),browser varchar(255),image_id varchar(255), security_id varchar(255),instance int,timer varchar(255),protocol varchar(255),concurrency int,rampup int,iteration int ,time_out int, cache varchar(255), primary key(id));


create table file_email(id int primary key ,filename varchar(255),email varchar(255), foreign key(id) references run_test(id));

我已经创建了一个触发器,

DELIMITER $$
CREATE TRIGGER triggered_from_runtest
BEFORE insert ON run_test
FOR EACH ROW
BEGIN
INSERT INTO file_email
SET file_email.id = new.id;
END$$
DELIMITER ;

在php中,插入id字段run_test使用 null 或不输入任何内容,它会在 run_test 中自动递增字段,但它没有采用 file_email 中更新的自动增量值即使我已经创建了一个触发器。该字段的值为 0。

在 php 中我是这样使用的,

insert into run_test(url,gh_ur,....)values('www.google.com','www.yajana.com',..............);

这也是我尝试过的,

insert into run_test(id,url,gh_ur,....)values(null,'www.google.com','www.yajana.com',..............);

run_test它会增加,但不会在 file_email 中增加.

我该怎么做?

运行测试表:

enter image description here

file_email 表是:

enter image description here

最佳答案

您好,您需要纠正三件事才能得到您所期望的结果。

1) 通过指定整数范围来更改 run_test 表的 id 列(alter table run_testmodify column id int(11) auto_increment)。

2) 然后更改触发器,如下所示,这会将新条目的 ID 插入到您的 file_email 表中。

DELIMITER $$
CREATE TRIGGER triggered_from_runtest
AFTER insert ON run_test
FOR EACH ROW
BEGIN
set @lastId=(select id from run_test order by id desc limit 1);
INSERT INTO file_email(id) values(@lastId);
END$$
DELIMITER ;

3) 删除 run_test 表的插入查询(php 查询)中给出的 id 并运行您的文件。

你会得到你的输出!!!!!!

关于php - 如何在php中插入mysql的自增字段id并将一张表的id更新为另一张表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48789364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com