Mysql
 sql >> база данни >  >> RDS >> Mysql

Мога ли да актуализирам току-що добавения ред, използвайки MySQL тригери

Както каза zerkms, трябва да промените разделителя. Но тъй като използвате само 1 ред код, нямате нужда от BEGIN и END. И по този начин не е нужно да променяте и разделителя

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

Тъй като получавате грешка, не можете да актуализирате реда, предлагам следното:

Въобще НЕ изпълнявайте заявката за актуализиране. По подразбиране стойността на поръчката =стойността на ID. Така че, когато стойността на поръчката се промени, можете да я актуализирате правилно.

Ако изисквате данните с php, направете нещо подобно:

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

След като имате нужда от актуализирането му, имате правилната стойност.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL индексиране и използване на сортиране на файлове

  2. Убийте или спрете MySQL заявките след излизане от PHP скрипт

  3. Създаване на html таблица с rowspan от mysql таблица с една заявка?

  4. В MySQL мога ли да копирам един ред за вмъкване в същата таблица?

  5. Как да извикам Java код от MySQL?