sql >> Database >  >> RDS >> Mysql

Kan ik de zojuist toegevoegde rij bijwerken met MySQL-triggers?

Zoals zerkms al zei, moet je de delimeter veranderen. Maar aangezien je maar 1 regel code gebruikt, heb je de BEGIN en END niet nodig. En op die manier hoeft u het scheidingsteken ook niet te wijzigen

CREATE TRIGGER `default_order_value` 
AFTER INSERT ON `clusters` 
FOR EACH ROW  
    UPDATE `clusters` SET `order` = NEW.id WHERE `id` = NEW.id; 

Aangezien je een foutmelding krijgt dat je de rij niet kunt bijwerken, raad ik het volgende aan:

Voer de update-query helemaal NIET uit. Standaard is de bestelwaarde =de ID-waarde. Dus wanneer de bestelwaarde verandert, kunt u deze goed bijwerken.

Als je de gegevens opvraagt ​​met php, doe dan zoiets als dit:

$order = $row['order'];
if ($order == '')
    $order = $row['id'];

Nadat je het moet bijwerken, heb je de juiste waarde.



  1. Limieten voor Salesforce API Query-cursor

  2. converteer mijn sql-query naar queryexpression of fetchxml in crm

  3. Breng een gepoolde verbinding tot stand met MySQL in Android

  4. mySql kopieert rijen naar dezelfde tabel met gewijzigde sleutelwaarde (bestaande niet overschrijven)