sql >> Database teknologi >  >> RDS >> Mysql

Kan jeg opdatere den netop tilføjede række ved hjælp af MySQL-triggere

Som zerkms sagde, skal du ændre delimeteret. Men da du kun bruger 1 kodelinje, behøver du ikke BEGIN og END. Og på den måde behøver du heller ikke ændre afgrænsningen

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

Da du får en fejl, kan du ikke opdatere rækken, jeg foreslår følgende:

Udfør IKKE opdateringsforespørgslen overhovedet. Som standard er ordreværdien =ID-værdien. Så når ordreværdien ændres, kan du opdatere den korrekt.

Hvis du anmoder om data med php, skal du gøre noget som dette:

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

Når du har brug for den opdatering, har du den korrekte værdi.



  1. Den mest effektive måde at få tabelrækker på

  2. hvordan kan man sammenkæde mere end to kolonner i plsql-udvikler?

  3. Find MAX af SUM i MySQL

  4. Laravel 4:Where Not Exists