Cara mengemas kini nilai lajur "last_dt" apabila menggunakan penyataan "KEMASKINI" atau "MASUKKAN ABAIKAN KE ~ PADA KEMASKINI KUNCI DUA ~"
P粉633075725
P粉633075725 2023-09-16 13:54:41
0
1
826
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粉633075725
P粉633075725

membalas semua(1)
P粉659518294

Saya rasa saya perlu menggunakan ini

`date`    TIMESTAMP      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!