gpt4 book ai didi

mysql - 如何在一个表中与其他表中的数据进行计数? mysql

转载 作者:行者123 更新时间:2023-11-30 00:06:36 25 4
gpt4 key购买 nike

我的触发器有问题,我需要向您展示我所拥有的内容,然后问题是什么。

CREATE TABLE IF NOT EXISTS `book` (
`ISBN` bigint(13) NOT NULL,
`Title` varchar(128) NOT NULL,
`Version` smallint(6) DEFAULT NULL,
`Year` year(4) DEFAULT NULL,
`Price` decimal(10,2) DEFAULT NULL,
PRIMARY KEY (`ISBN`)
)

CREATE TABLE IF NOT EXISTS `bookauthor` (
`ISBN` bigint(13) NOT NULL,
`BSN` int(9) NOT NULL,
PRIMARY KEY (`ISBN`,`BSN`),
KEY `bookauthor_ibfk_2` (`BSN`)
)

CREATE TABLE IF NOT EXISTS `publisher` (
`name` varchar(48) NOT NULL,
`location` varchar(48) NOT NULL,
`sales volume` double NOT NULL,
`logo` longblob NOT NULL
)

CREATE TABLE IF NOT EXISTS `sales` (
`date` date NOT NULL,
`publisher` varchar(48) NOT NULL,
`isbn` int(48) NOT NULL,
`amount_sold` int(48) NOT NULL
);

我的问题是,我想要一个触发器,可以使用更新销售表时的销售量来更新发布商表中的销售量。这需要发生在某个发布商上,并且触发器需要类似(amount_sold * 价格)的东西,但我不知道如何做到这一点:(

最佳答案

CREATE TRIGGER
trg_sales_ai
AFTER INSERT
ON sales
FOR EACH ROW
BEGIN
UPDATE publisher p
CROSS JOIN
book b
SET p.`sales volume` = p.`sales volume` + NEW.amount_sold * b.price
WHERE p.name = NEW.publisher
AND b.ISBN = NEW.isbn
END;

关于mysql - 如何在一个表中与其他表中的数据进行计数? mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24492307/

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