So habe ich diese TabelleArbeiten mit Datumsfunktionen mysql und das Hinzufügen von Tag zu Tag, während Spur zu halten
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;
In Schaffung einen Trigger, der die Date
und die clearanceDate
überprüft, ob die clearanceDate
größer als das tatsächliche Datum ist dann eine späte Gebühr hinzufügen. Ich habe dies so weit:
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;
die Datumsfunktionen Wie kann ich überprüfen, ob ein Tag etc gegangen ist, und fügen Sie für jeden Tag eine berechnen verspätete Zahlung Bitte alles wäre toll Danke.
Sie sollten eigentlich nicht die späte Gebühr in der Tabelle speichern müssen, es sei denn, Sie müssen viel zugreifen, wie, * wirklich * sehr viel. Normalerweise mit einem Wert, der immer von anderen Werten in der Datenbank * abgeleitet * werden kann (insbesondere wenn sie in der gleichen Tabelle sind), würden Sie sie einfach jedes Mal berechnen, wenn Sie sie brauchen. Zu diesem Zweck werden häufig Ansichten verwendet. –
keine späte Gebühr würde vom Datum abhängen. Wie wenn ein anderer Tag vergeht, würde sich die späte Gebühr ständig ändern. irgendeine Idee wie? – luffy
Erzähl mir, wie die späte Gebühr berechnet wird. –