mysql倍增表的内容,mysql - DATEDIFF不会在触发器内倍增 - SO中文参考 - www.soinside.com...
嘿,每个人都在这里触发计算每个客户的发票。所以我希望看到应付金额取决于他们租车的天数!
DELIMITER //
CREATE TRIGGER update_booking_price_day
BEFORE update ON bookings
FOR EACH ROW BEGIN
SET NEW.TheDuration = DATEDIFF(NEW.end_date, NEW.start_date);
SET NEW.AMOUNT_DUE = DATEDIFF(NEW.end_date, NEW.start_date); * SELECT rate_per_day FROM vehicles WHERE vehicle_id=NEW.vehicle_id;
END;
//
DELIMITER ;
表结构
CREATE TABLE bookings (
booking_id int(50) NOT NULL AUTO_INCREMENT,
booking_date date NOT NULL,
start_date date NOT NULL,
end_date date NOT NULL,
invoice_no int(10) NOT NULL ,
chauffeur_id int(10) NULL,
vehicle_id int(10) NOT NULL ,
customer_id int(50) NOT NULL ,
chauffeur_req ENUM('Yes','No') NOT NULL,
special_instructions varchar(255) NOT NULL,
PRIMARY KEY (booking_id),
KEY invoice_nofk2 (invoice_no),
KEY chauffeur_idfk1 (chauffeur_id),
KEY customer_idfk2 (customer_id),
KEY vehicle_idfk2 (vehicle_id),
CONSTRAINT invoice_nofk1 FOREIGN KEY (invoice_no) REFERENCES invoice (invoice_no),
CONSTRAINT chauffeur_idfk2 FOREIGN KEY (chauffeur_id) REFERENCES chauffeurs (chauffeur_id),
CONSTRAINT customer_idfk3 FOREIGN KEY (customer_id) REFERENCES customers (customer_id),
CONSTRAINT vehicle_idfk3 FOREIGN KEY (vehicle_id) REFERENCES vehicles (vehicle_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
和
ALTER TABLE bookings
ADD COLUMN TheDuration varchar(10) NOT NULL;
ALTER TABLE bookings
ADD COLUMN AMOUNT_DUE varchar(16) NOT NULL;
和
CREATE TABLE vehicles (
vehicle_id int(10) NOT NULL AUTO_INCREMENT,
category ENUM('Sedan','Hatchback','SUV', 'Coupe', 'Crossover') NOT NULL,
no_of_seats int(11) NOT NULL,
brand varchar(20) NOT NULL,
model varchar(20) NOT NULL,
product_year int(5) NOT NULL,
rate_per_day int(11) NOT NULL,
PRIMARY KEY (vehicle_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我收到一个错误说......
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* SELECT rate_per_day FROM vehicles WHERE vehicle_id=NEW.vehicle_id;
结束'在第5行
mysql倍增表的内容,mysql - DATEDIFF不会在触发器内倍增 - SO中文参考 - www.soinside.com...相关推荐
- mysql怎么按年份分组_mysql - MYSQL按ID分组,但根据最近的年份进行拉取 - SO中文参考 - www.soinside.com...
我有一个包含以下内容的表:StudID Name Year SubjectID SubjectName MTFlag 51280 ALOYSIUS 2019 42 CHINESE LANGUAGE 1 ...
- mysql 截断表_入门MySQL——基础语句篇
前言: 前面几篇文章,我们介绍了MySQL的基础概念及逻辑架构.相信你现在应该有了自己的一套MySQL环境,接下来我们就可以开始练习MySQL了.本文将从MySQL最基础的语句出发,为你展示出创建及修 ...
- phpstudy mysql建表_MySQL_总结MySQL建表、查询优化的一些实用小技巧,MySQL建表阶段是非常重要的一 - phpStudy...
总结MySQL建表.查询优化的一些实用小技巧 MySQL建表阶段是非常重要的一个环节,表结构的好坏.优劣直接影响着后续的管理维护,赶在明天上班前分享总结个人MySQL建表.MySQL查询优化积累的一些 ...
- mysql 找表重复数据,mysql 数据表中查找重复记录
mysql 数据表中查找重复记录 复制代码 代码如下: select user_name,count(*) as count from user_table group by user_name ha ...
- mysql 修改表结构提示 MySQL said: Table is read only
以下是我遇到的问题,在我的数据库表里面添加字段的时候提示:MySQL said: Table is read only 百度了一下,找到以下方法,但是行不通: 1.找到mysql 数据库目录,并修改权 ...
- mysql查找表shoe table,mysql命令行常用命令
mysql服务的启动和停止 net stop mysql net start mysql 登陆mysql服务器 mysql -u用户名 -p用户密码 注意,如果是连接到另外的机器上,则需要加入一个参数 ...
- mysql 单表union_在MySQL中用union合并两个表?
要将两个表与UNION合并,可以使用create table select语句.以下是语法-create table yourNewTableName select * from yourFirstT ...
- mysql audit 表_关于MySQL AUDIT(审计)那点事
2017年06月02日MySQL社区版本最新版为MySQL_5.7.18,但是该版本不带AUDIT功能(MySQL Enterprise Edition自带AUDIT功能), 因此需要加载plugin ...
- mysql倍增表的内容_MySQL入门(7)——表数据的增、删、改
MySQL入门(7)--表数据的增.删.改 插入数据 使用INSERT···VALUES语句插入数据 INSERT语句最常用的格式是INSERT···VALUES: INSERT [LOW_PRIOR ...
最新文章
- 使用Rancher管理Docker
- Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策
- Things That Cannot Change
- SVM与SoftMax分类器
- 【最全最详细】使用publiccms实现动态可维护的首页轮播
- 2021年京东小魔方年中新品消费趋势报告
- 消息队列面试 - 如何保证消息队列的高可用?
- html5游戏面试题及答案,HTML5常见面试题及答案(二)
- “李刚畅谈Java编程人生”讲座
- dts音效大师安卓版_dts音效大师
- 数据线性拟合优化之路
- 15种工商数据的采集方法
- 学生学籍管理系统(c语言)
- node.js —— express中的next( )
- SSM(spring、springmvc、mybatis)框架搭建
- 外星人冯诺依曼【转】
- 零基础入门网络安全最直线距离的学习路线
- 【勘误清单】《机器学习》 周志华 北京: 清华大学出版社
- JAVA工具类(17)--Java导入导出Excel工具类ExcelUtil
- python+图书管理系统