cari

Rumah  >  Soal Jawab  >  teks badan

Mengenai mereka bentuk fungsi yang menambah medan dalam mysql.

Saya mempunyai jadual ringkas dengan tiga medan, tag_id, user_id, user_tag_id yang saya inginkan apabila saya memasukkan rekod (memasukkan tag_id dan user_id), user_tag_id harus ditetapkan secara automatik di bawah syarat user_id = user_id yang sedang dimasukkan 1 , bagaimana untuk melaksanakan ini? Adakah saya perlu menulis fungsi tersuai mysql?

世界只因有你世界只因有你2755 hari yang lalu1042

membalas semua(2)saya akan balas

  • 某草草

    某草草2017-06-28 09:25:38

    DELIMITER $$
    DROP TRIGGER IF EXISTS after_insert_table $$
    CREATE TRIGGER after_insert_table
    AFTER INSERT on table
    FOR EACH ROW
    BEGIN
      update table t set t.user_tag_id = t.user_tag_id+1 where t.user_id=new.user_id ;
    END $$
    DELIMITER ;

    balas
    0
  • 欧阳克

    欧阳克2017-06-28 09:25:38

    Jika hanya user_tag_id dalam rekod yang baru dimasukkan ditambah 1, ia boleh dibahagikan kepada dua pernyataan sql:

    Mula-mula hitung nilai maksimum user_id yang sepadan dengan user_tag_id

    select max(user_tag_id) + 1 from t1 where user_id = :user_id

    Kemudian letakkan nilai pulangan pernyataan sebelumnya ke dalam pernyataan sisipan.

    balas
    0
  • Batalbalas