所以我有這個表與日期函數MySQL的工作,加入時至今同時跟蹤
CREATE TABLE `chittytransactions` (
`ChittyTransactionID` int(11) NOT NULL,
`AuctionID` int(11) NOT NULL,
`ChittyAccNo` int(11) DEFAULT NULL,
`Date` datetime DEFAULT NULL,
`Amount` double DEFAULT NULL,
`Description` varchar(50) DEFAULT NULL,
`TransRefence` varchar(50) DEFAULT NULL COMMENT 'Reference from actual Bank transaction',
`TransStatus` tinyint(1) DEFAULT NULL COMMENT 'If Transaction Pending or Cleared',
`ClearanceDate` datetime DEFAULT NULL,
`PaymentMethod` int(1) DEFAULT NULL COMMENT '0- Cash, 1- bank transfer, 2- personal credit etc'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
林創建檢查Date
和clearanceDate
,看是否clearanceDate
比實際日期以上的觸發然後添加滯納金。我有這個至今:
DROP TRIGGER IF EXISTS chitty_before_trig;
DELIMITER ;;
CREATE TRIGGER chitty_before_trig BEFORE INSERT ON chittytransactions
FOR EACH ROW
BEGIN
DECLARE `userId` INT(11);
SELECT `UserId`
INTO `userId`
FROM chittyusers
WHERE ChittyAccNo = NEW.ChittyAccNo;
IF NEW.ClearanceDate <> NEW.`Date` THEN
UPDATE `chittyusers` SET LatePaymentFee = 50 WHERE UserId = userId;
END IF;
END;;
DELIMITER;
使用日期函數如何檢查,如果一天已經等了並加入每一天的計算逾期付款請什麼將是巨大的,謝謝。
實際上,您不需要在表格中存儲滯納金,除非您需要大量存取它,例如*真*很多。通常,可以從數據庫中的其他值(尤其是如果它們在同一個表中)中派生出一個值,您可以在每次需要時計算它們。視圖通常用於此目的。 –
不收費取決於日期。就像另一天的遲到費用會不斷變化一樣。任何想法如何? – luffy
告訴我遲到費用是如何計算的。 –