簡體   English   中英

自動按條件遞增列

[英]Auto increment column by condition

我有一個如下的MySQL表

ID - Project - Entry - Value
int   int       int    varchar

IDAUTO_INCREMENT 現在我想根據ProjectEntryAUTO_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM