MYSQL-将tinyint更新为TRUE时,TRIGGER从表中插入另一个表中的值

时间:2019-12-31 06:52:56

标签: mysql triggers where-clause

我有2张桌子的出价和工作

CREATE TABLE test.bid_ (
ID INT NOT NULL AUTO_INCREMENT,
bid_name VARCHAR(45) NULL,
bid_won TINYINT(1) NULL,
job_ID INT NULL,
con_ID INT NULL,
PRIMARY KEY (ID));

然后

CREATE TABLE test.job_ (
ID INT NOT NULL AUTO_INCREMENT,
job_name VARCHAR(45) NULL,
con_ID INT NULL,
PRIMARY KEY (ID));

我想做的是,将bid_won更新为TRUE后,将bid.bid_name插入job.job_name中。我只是无法将脑袋缠在触发器或所需的过程上。我是触发器和程序的新手。

我认为这样的触发器会起作用:

CREATE DEFINER = CURRENT_USER TRIGGER `test`.`bid_AFTER_UPDATE` AFTER UPDATE ON `bid` FOR EACH ROW
BEGIN
INSERT INTO job (job_name,con_ID) 
SELECT bid_name,con_ID FROM bid WHERE OLD.bid_won <=> NEW.bid_won AND job_ID IS NULL
END

但是我猜想AND子句不好。另外,我需要使用来自将工作投标时创建的job.ID中的新job_ID更新投标表。任何帮助将不胜感激。

0 个答案:

没有答案