php - Masalah cap masa selepas versi Mysql 5.7
仅有的幸福
仅有的幸福 2017-05-16 13:09:07
0
3
674

Persekitaran:

>pilih versi();
> 5.7.16

Soalan:

Terdapat dua medan dalam jadual, created_at dan updated_at Kedua-dua jenis medan ialah timestamp created_at Nilai lalai ialah CURRENT_TIMESTAMP dan nilai lalai updated_at ditetapkan kepada 0000-00-00 00:00:00 masalah berlaku. Sekarang, laksanakan pernyataan untuk mencipta jadual atau melaporkan ralat Berikut ialah kod ralat:

Ralat sintaks atau pelanggaran akses: 1067 Nilai lalai tidak sah untuk 'updated_at'

Jika anda menukar nilai lalai updated_at kepada CURRENT_TIMESTAMP, ia akan dilaksanakan dengan lancar, tetapi akan ada masalah lain di bawah Mysql5.7 tidak menyokong satu jadual Adakah terdapat dua medan cap masa dengan nilai lalai CURRENT_TIMESTAMP?

Jadi, sila tanya semua tuan, bagaimana untuk menyelesaikan masalah nilai lalai cap masa ini? Serasi dengan kedua-dua versi tinggi dan rendah Mysql.

&^ - &^

仅有的幸福
仅有的幸福

membalas semua(3)
小葫芦

阿神

Sistem 32-bit nampaknya berada pada tahun 2038. Gunakan sistem 64-bit. Juga, cuba simpan data dengan cap masa.

滿天的星座

Melihat masalah ini dari perspektif keperluan medan kemas kini_at, kami benar-benar memahami bahawa medan ini harus digunakan untuk membentangkan masa kemas kini rekod.
Jika masa kemas kini mempunyai nilai lalai, tetapi nilai lalai bukanlah masa pangkalan data semasa yang dimasukkan semasa mengemas kini/menambah rekod (subjek menggunakan 0000-00-00 00:00:00), maka sebarang nilai selain daripada pangkalan data semasa masa akan digunakan. Maksud medan ini tidak wujud (data berlebihan/salah).
Tidak perlu menyimpan data yang sepadan dengan ralat dalam pangkalan data.
Ringkasnya, penyoal ingin melihat sama ada mungkin untuk tidak memberikan medan update_at nilai lalai?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan