Bolehkah Berbilang Lajur TIMESTAMP Mempunyai CURRENT_TIMESTAMP dalam MySQL?

Linda Hamilton
Lepaskan: 2024-10-29 21:26:29
asal
907 orang telah melayarinya

Can Multiple TIMESTAMP Columns Have CURRENT_TIMESTAMP in MySQL?

MySQL CURRENT_TIMESTAMP pada Cipta dan Kemas Kini

Apabila mentakrifkan jadual MySQL, adalah wajar untuk memasukkan cap masa untuk menjejak penciptaan dan pengubahsuaian rekod . Walau bagaimanapun, ralat mungkin berlaku apabila cuba mentakrifkan dua medan TIMESTAMP dengan CURRENT_TIMESTAMP sebagai nilai lalai atau pada nilai kemas kini.

Mesej Ralat

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
Salin selepas log masuk

Sebab

Versi MySQL sebelum 5.6.25 hanya membenarkan satu lajur TIMESTAMP ditakrifkan dengan CURRENT_TIMESTAMP sebagai nilai lalai atau pada nilai kemas kini.

Penyelesaian

Dalam MySQL versi 5.6.25 dan ke atas, adalah mungkin untuk mentakrifkan berbilang lajur TIMESTAMP, setiap satu dengan tetapan CURRENT_TIMESTAMP sendiri. Setakat MySQL 8.0, sekatan ini telah dialih keluar sepenuhnya. Oleh itu, untuk versi 5.6.25 dan ke atas, takrif jadual berikut harus berfungsi dengan betul:

CREATE TABLE `msgs` (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `msg` VARCHAR(256),
    `ts_create` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `ts_update` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
Salin selepas log masuk

Takrifan ini akan mencipta jadual dengan dua medan TIMESTAMP, ts_create dan ts_update, yang akan dikemas kini secara automatik mengikut arus cap masa pada penciptaan rekod dan kemas kini, masing-masing.

Atas ialah kandungan terperinci Bolehkah Berbilang Lajur TIMESTAMP Mempunyai CURRENT_TIMESTAMP dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
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!