[英]Auto increment column by condition
我有一個如下的MySQL表
ID - Project - Entry - Value
int int int varchar
ID
為AUTO_INCREMENT
。 現在我想根據Project
將Entry
為AUTO_INCREMENT
。 對於Project
= 1
每個記錄/行的含義, ENTRY
是自動遞增的。 要求是根據項目, ENTRY
始終為+ 1
。
有任何想法嗎?
您需要編寫一個BEFORE INSERT
觸發器來管理項目ID的自動增量,例如:
DELIMITER //
CREATE TRIGGER entry_trigger
BEFORE INSERT
ON table FOR EACH ROW
BEGIN
DECLARE entry int;
SELECT IFNULL(MAX(Entry), 0) + 1 INTO entry WHERE project = NEW.project;
SET NEW.Entry = entry;
END; //
DELIMITER ;
您可以使用mysql 觸發器 。 觸發器基本上是在數據庫表上發生INSERT,UPDATE或DELETE事件之前或之后執行的SQL代碼。 使用觸發器,您可以基於“項目”字段的值來更新“輸入”字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.