您可以在插入之前使用触发器.
DELIMITER $$
CREATE TRIGGER bi_table1_each BEFORE INSERT ON table1 FOR EACH ROW
BEGIN
DECLARE creationdate DATE;
DECLARE newdayid INTEGER;
SET creationdate = new.`creation date`;
SELECT count(*) + 1 INTO newdayid FROM table1
WHERE table1.`creation date` = creationdate;
-- NEW.`unique number` = CONCAT(DATE_FORMAT(creationdate,'%Y%m%d'),newdayid);
NEW.`unique number` = CONCAT(DATE_FORMAT(creationdate,'%Y%m%d')
RIGHT(CONCAT('00000000',newdayid),8));
END $$
DELIMITER ;
请注意,将newdayid中的小数位数固定为8位(或其他)可能是个好主意,如果您不想这样,只需使用注释掉的行.