Bolehkah jadual MySQL mempunyai lebih daripada satu lajur CURRENT_TIMESTAMP?

Mary-Kate Olsen
Lepaskan: 2024-10-30 11:31:03
asal
840 orang telah melayarinya

Can MySQL tables have more than one CURRENT_TIMESTAMP column?

Mengatasi Had Berbilang Lajur CURRENT_TIMESTAMP dalam MySQL

Adalah wajar untuk menjejak kedua-dua penciptaan dan mengemas kini cap masa data dalam jadual pangkalan data . Dalam MySQL, kata kunci CURRENT_TIMESTAMP boleh digunakan untuk mengisi lajur cap masa secara automatik dengan tarikh dan masa semasa. Walau bagaimanapun, MySQL mempunyai sekatan bahawa hanya satu lajur CURRENT_TIMESTAMP boleh ditentukan dalam pernyataan CREATE jadual.

Mengatasi Ralat

Ralat yang dijana semasa cuba mencipta jadual dengan berbilang lajur CURRENT_TIMESTAMP ialah:

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

Ralat ini menunjukkan bahawa MySQL tidak dapat memproses definisi jadual kerana ia melanggar sekatan pada berbilang lajur CURRENT_TIMESTAMP.

Penyelesaian

Untuk mengatasi had ini, versi MySQL yang lebih baharu (5.6.25 atau lebih baru) boleh digunakan. Dalam MySQL 5.6.25 dan ke atas, sekatan pada berbilang lajur CURRENT_TIMESTAMP telah dialih keluar. Ini membolehkan anda menentukan jadual dengan berbilang lajur TIMESTAMP yang dikemas kini secara automatik dengan tarikh dan masa semasa.

Sebagai contoh, takrif jadual berikut sah dalam MySQL 5.6.25 dan lebih baru:

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

Dalam takrif jadual ini, kedua-dua lajur ts_create dan ts_update ialah lajur TIMESTAMP dengan CURRENT_TIMESTAMP ditetapkan sebagai nilai lalai untuk operasi sisipan dan kemas kini, masing-masing. Ini memastikan bahawa cap masa dikemas kini secara automatik dengan tarikh dan masa semasa apabila rekod dibuat atau dikemas kini.

Atas ialah kandungan terperinci Bolehkah jadual MySQL mempunyai lebih daripada satu lajur CURRENT_TIMESTAMP?. 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!