1.首先我在navicat中创建一个订单表和插入两条数据
CREATE TABLE shop_order (
`id` int(11) NOT NULL AUTO_INCREMENT primary key COMMENT '订单ID',
`good_id` int(11) NOT NULL COMMENT '商品ID',
`order_amount` decimal(11,2) NOT NULL COMMENT '订单金额',
`status` varchar(10) NOT NULL COMMENT '订单状态:0:交易待支付,1:交易支付中,2:交易成功、3:交易关闭',
`create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`update_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间'
);
insert into shop_order(good_id,order_amount,status,create_date,update_date)values(1,99.00,0,NOW(),NOW());
insert into shop_order(good_id,order_amount,status,create_date,update_date)values(3,126.00,0,NOW(),NOW());
2.在查询的sql处创建一个存储过程
//创建存储过程
DELIMITER //
CREATE PROCEDURE myFist_proc() ## 创建存储过程
BEGIN
UPDATE
`shop_order` AS order_
SET
order_.`status` = '3'
WHERE
1=1
AND
order_.status = '0'
AND
TIMESTAMPDIFF(MINUTE,order_.`create_date`,NOW()) > 30;
END;//
DELIMITER;
这段的意思是当创建时间与当前时间相差30分钟的时候将状态为0的状态修改为3
3.执行这个函数(存储过程)
call myFist_proc();
以后就可以在这里写常用的函数来处理了!