gpt4 book ai didi

MYSQL 更新表触发器

转载 作者:行者123 更新时间:2023-11-29 13:53:23 27 4
gpt4 key购买 nike

这只是一个简单的问题,如果它很简单,我很抱歉,但我找不到任何好的例子,因为我确信这并不难,我只是不确定语法。

当有人将飞机插入名为服务的表中时,我需要更新一个表“飞机”中的状态属性,他们也设置了一个状态,说“非事件”,我需要它与另一个表相对应。我觉得这应该很容易,但现在已经为此苦苦挣扎了一段时间。

提前谢谢您。

这是飞机表

Create Table Airplane(
Name Char(25) NOT NULL,
aID Int NOT NULL Primary Key,
aCount Int,
status Char(8) NOT NULL DEFAULT 'Active',
cost double Default 0.0
);

这是服务表,它们可能会发生变化,只是出于所有密集目的而关注此触发器。

Create table Servicing( 
TicketNumber Int NOT NULL AUTO_INCREMENT Primary Key,
Mechanic Char(50) NOT NULL,
Problem Char(25) NOT NULL,
Airplane Char(25) NOT NULL,
TimeComplete CHAR(25) NOT NULL,
Servicing Char(25) NOT NULL,
Status Char(25) NOT NULL DEFAULT 'Inactive');

这是触发器,但似乎遇到了问题。

DELIMITER $$
CREATE TRIGGER Airplane_status_update
AFTER INSERT ON Servicing
FOR EACH ROW
BEGIN
UPDATE Airplane status
SET status = new.status
WHERE name = new.airplane;
END $$
DELIMITER ;

最佳答案

您可能正在寻找类似的东西

DELIMITER $$
CREATE TRIGGER airplane_status_update
AFTER INSERT ON servicing
FOR EACH ROW
BEGIN
UPDATE airplane
SET status = NEW.status
WHERE airplane_id = NEW.airplane_id;
END $$
DELIMITER ;

您显然需要调整 UPDATE 语句来指定正确的字段名称,因为您没有发布用于服务和飞机表的 DDL

关于MYSQL 更新表触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16312571/

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