cari

Rumah  >  Soal Jawab  >  teks badan

Cara mengemas kini nilai lajur "last_dt" apabila menggunakan penyataan "KEMASKINI" atau "MASUKKAN ABAIKAN KE ~ PADA KEMASKINI KUNCI DUA ~"

Lajur

last_dt ialah tarikh terakhir kali data ditukar. Ia diuruskan secara berbeza daripada tarikh yang disisipkan. Tarikh yang disisipkan diuruskan oleh create_dt.

Saya hanya mahu menukar nilai tarikh kemas kini apabila lajur lain selain lajur update_dt berubah.

Jadi gpt memberi saya ini:

UPDATE your_table
SET column1 = %s, column2 = %s, column3 = %s, update_date = IF(
    column1 <> %s OR column2 <> %s OR column3 <> %s,
    NOW(), update_date
)
WHERE id = %s

Tetapi saya rasa kaedah ini agak pelik. Saya sebenarnya telah mengujinya dan mendapati ralat. Mungkin juga saya salah tulis kod.

Adakah cara yang lebih baik? Adakah jawapan yang diberikan oleh gpt betul? Saya rasa ramai pentadbir pangkalan data telah menyelesaikan masalah yang sama. Saya bertanya soalan ini kerana saya tidak dapat mencari jawapan yang sesuai.

P粉633075725P粉633075725495 hari yang lalu878

membalas semua(1)saya akan balas

  • P粉659518294

    P粉6595182942023-09-17 11:25:31

    Saya rasa saya perlu menggunakan ini

    `date`    TIMESTAMP      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

    balas
    0
  • Batalbalas