sql >> Database >  >> RDS >> Mysql

Voor / na het invoegen van een trigger met behulp van het automatische incrementveld

De enige manier die ik heb gevonden om de nieuwe verhogingswaarde te krijgen, is geen mooie vorm. Ik ging ervan uit dat je een nieuwe waarde invoert, dus het is de maximale id + 1:

CREATE TRIGGER mytrigger BEFORE INSERT ON yourtable 
FOR EACH ROW BEGIN
SET NEW.thread_id = IF(
ISNULL(NEW.thread_id), 
(SELECT MAX(id) + 1 FROM yourtable), 
NEW.thread_id);
END;

Het werkte voor mijn geval, als het NULL is, krijgt het de maximale ID + 1, wat de nieuwe id zal zijn.



  1. Hulp nodig bij het installeren van MySQL voor Python

  2. Een tafel bestaat nog steeds wanneer deze wordt neergezet

  3. Mysql stop woorden en match

  4. ADDDATE() Voorbeelden – MySQL