sql >> Databasteknik >  >> RDS >> Mysql

Kan jag uppdatera den nyss tillagda raden med MySQL-utlösare

Som zerkms sa, du måste ändra avgränsningen. Men eftersom du bara använder 1 kodrad, behöver du inte BEGIN och END. Och på så sätt behöver du inte heller ändra avgränsaren

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

Eftersom du får ett felmeddelande kan du inte uppdatera raden, jag föreslår följande:

Utför INTE uppdateringsfrågan alls. Som standard är ordervärdet =ID-värdet. Så när ordervärdet ändras kan du uppdatera det ordentligt.

Om du begär data med php, gör något så här:

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

När du behöver uppdatera den har du rätt värde.



  1. Hur man kör en procedur inuti ett paket i Oracle

  2. Använder Solr med MySQL

  3. MySQL-ordning efter bästa matchning

  4. Java MySQL-integration med ArrayLists