Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan Nilai Lalai Lajur Cap Masa kepada CURRENT_TIMESTAMP dalam Migrasi Laravel?

Bagaimana untuk Menetapkan Nilai Lalai Lajur Cap Masa kepada CURRENT_TIMESTAMP dalam Migrasi Laravel?

Linda Hamilton
Linda Hamiltonasal
2024-12-03 02:44:14242semak imbas

How to Set a Timestamp Column's Default Value to CURRENT_TIMESTAMP in Laravel Migrations?

Menetapkan Nilai Lalai Lajur Cap Masa kepada Cap Masa Semasa dengan Migrasi Laravel

Soalan:

Bagaimana saya boleh mencipta lajur cap masa dengan nilai lalai CURRENT_TIMESTAMP PADA KEMASKINI CURRENT_TIMESTAMP menggunakan Skema Laravel Pembina/Migrasi?

Jawapan:

Menggunakan DB::raw() (semua pangkalan data):

$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));

Menggunakan useCurrent () (Laravel 5.1.25 ):

$table->timestamp('created_at')->useCurrent();

Untuk MySQL sahaja:

Menggunakan DB::raw() dengan ON UPDATE:

$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));

Menggunakan useCurrent() dan useCurrentOnUpdate() (Laravel 8.36.0 ):

$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();

Gotchas:

  • MySQL:

    • Bermula dengan MySQL 5.7, 0000-00-00 00:00:00 bukan tarikh yang sah. Lajur cap masa lalai kepada cap masa semasa menggunakan useCurrent(), atau jadikannya boleh batal.
  • PostgreSQL & Laravel 4.x:

    • Tentukan dengan jelas ketepatan sifar hingga CURRENT_TIMESTAMP untuk mengelakkan ralat penghuraian. (Sejak Laravel 5.0, ketepatan ditetapkan kepada sifar secara lalai.)

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai Lalai Lajur Cap Masa kepada CURRENT_TIMESTAMP dalam Migrasi Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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