Apa yang salah dengan pemicu ini? Setelah Masukkan Pembaruan

Saya punya masalah dengan pemicu sederhana di MySQL.

DELIMITER $$
CREATE TRIGGER cust_tracer
AFTER INSERT ON custom_values 
FOR EACH ROW
BEGIN
  UPDATE 'custom_values' set 

  (VALUE = CONCAT('https://tracker.123e33.eu/view.php?id=', VALUE))
  where custom_field_id=84;

  END$$

VALUE adalah kolom dalam tabel custom_values ​​yang diberi nama VALUE

Saya mendapat kesalahan berikut:

#1064 - Anda mengalami kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MySQL Anda untuk mengetahui sintaks yang tepat untuk digunakan di dekat set ''custom_values'
VALUE = CONCAT('https://tracker.123e33.eu/view.php?id=' di baris


person Artur Stolc    schedule 26.04.2019    source sumber
comment
Hapus tanda kurung di sekitar tugas.   -  person sticky bit    schedule 26.04.2019
comment
Anda harus menyatakan masalah sebenarnya apa yang Anda alami.   -  person sticky bit    schedule 26.04.2019
comment
#1064 - Anda mengalami kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MySQL Anda untuk sintaks yang tepat untuk digunakan di dekat ''custom_values' set VALUE = CONCAT('tracker.123e33.eu/view.php?id=' di baris   -  person Artur Stolc    schedule 26.04.2019
comment
Tidak di komentar. Edit pertanyaan Anda dan tambahkan informasi di sana.   -  person sticky bit    schedule 26.04.2019
comment
Dan hapus tanda kutip tunggal di sekitar nama tabel.   -  person sticky bit    schedule 26.04.2019
comment
Anda tidak dapat melakukan tindakan pada tabel yang menyebabkan pemicu menyala, di pemicu. Sepertinya ini harus menjadi pemicu sebelum penyisipan di mana Anda dapat mengubah BARU. nilai-nilai   -  person P.Salmon    schedule 26.04.2019
comment
Dan pemicunya terasa aneh bagi saya. Setiap kali Anda memasukkan baris baru ke dalam tabel, Anda ingin kolom satu baris diawali dengan fragmen URL itu? Jadi setelah beberapa saat nilai tersebut akan memiliki awalan tersebut berkali-kali. Apakah itu benar-benar yang ingin Anda capai?   -  person sticky bit    schedule 26.04.2019
comment
Ya nilainya sederhana: 133214 hasilnya adalah tracking.123e33.eu/view.php?id=133214 yang akan menjadi link url :)   -  person Artur Stolc    schedule 26.04.2019
comment
Dan setelah di insert selanjutnya akan menjadi tracking.123e33.eu/view.php?id=tracker.123e33.eu/view.php?id=133214   -  person sticky bit    schedule 26.04.2019
comment
SETELAH MASUKKAN PADA ?? sekarang ada sisipan atau pembaruan   -  person Artur Stolc    schedule 26.04.2019


Jawaban (1)


Menghapus tanda kurung di sekitar pernyataan SET akan menyelesaikan masalah.

Blok kuerinya adalah:

BEGIN
   UPDATE `custom_values` SET
   VALUE = CONCAT('https://tracker.123e33.eu/view.php?id=', VALUE)
   WHERE custom_field_id = 84;
END$$
person Arulkumar    schedule 26.04.2019
comment
masih: #1064 - Ada kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MySQL Anda untuk sintaks yang tepat untuk digunakan di dekat ''custom_values' set VALUE = CONCAT('tracker.123e33.eu/view.php? di baris 5 - person Artur Stolc; 26.04.2019
comment
@ArturStolc Sudahkah Anda mencoba sebagai UPDATE `custom_values` SET atau UPDATE custom_values SET - person Arulkumar; 26.04.2019
comment
Ya, saya sekarang DELIMITER $$ BUAT PEMICU cust_tracer SETELAH MASUKKAN PADA custom_values ​​UNTUK SETIAP BARIS MULAI PEMBARUAN easy.custom_values ​​set VALUE = CONCAT('tracker.123e33.eu/view.php?id=', VALUE) di mana easy.custom_field_id=84; AKHIR$$ #1064 - Anda mengalami kesalahan dalam sintaksis SQL Anda; periksa manual yang sesuai dengan versi server MySQL Anda untuk sintaks yang tepat untuk digunakan di dekat '' pada baris 8 - person Artur Stolc; 26.04.2019