Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy mogę zaktualizować właśnie dodany wiersz za pomocą wyzwalaczy MySQL?

Jak powiedzieli zerkmowie, trzeba zmienić ogranicznik. Ale ponieważ używasz tylko 1 wiersza kodu, nie potrzebujesz BEGIN i END. W ten sposób nie musisz również zmieniać ogranicznika

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

Ponieważ pojawia się błąd, że nie można zaktualizować wiersza, proponuję następujące czynności:

NIE wykonuj w ogóle zapytania o aktualizację. Domyślnie wartość zamówienia =wartość ID. Kiedy więc wartość zamówienia się zmieni, możesz ją odpowiednio zaktualizować.

Jeśli żądasz danych za pomocą php, zrób coś takiego:

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

Gdy potrzebujesz go zaktualizować, masz poprawną wartość.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nieprawidłowa wartość ciągu:'\xEF\xBF\xBD' dla kolumny

  2. BŁĄD 1215:Nie można dodać ograniczenia klucza obcego podczas korzystania z opcji ON DELETE SET NULL

  3. Łączenie się z bazą danych Mysql za pomocą C# - potrzebujesz trochę z zestawami danych

  4. jaki jest najlepszy sposób na internacjonalizację w php?

  5. Laravel 5.5 nie może renderować dynamicznych wykresów za pomocą pakietu wykresów ConsoleTV