Rumah  >  Artikel  >  pangkalan data  >  Apa yang perlu dilakukan jika ralat datetime mysql berlaku

Apa yang perlu dilakukan jika ralat datetime mysql berlaku

藏色散人
藏色散人asal
2023-02-15 10:12:272326semak imbas

Penyelesaian kepada ralat datetime mysql: 1. Tukar datetime kepada cap waktu cap waktu 2. Naik taraf MySQL kepada versi yang lebih tinggi 3. Laksanakan "UBAH PENGGUNA 'root'@'localhost' DIKENAL PASTI OLEH 'root1' TAMAT TEMPOH; ;" perintah sudah memadai.

Apa yang perlu dilakukan jika ralat datetime mysql berlaku

Persekitaran pengendalian tutorial ini: sistem Windows 10, MySQL versi 8.0, komputer Dell G3.

Apakah yang perlu saya lakukan jika mysql datetime melaporkan ralat?

MySQL melaporkan ralat datetime apabila mencipta jadual

Buat jadual stu dalam pangkalan data pelajar dan laksanakan pernyataan penciptaan jadual berikut

CREATE TABLE stu (
  id int(12) NOT NULL AUTO_INCREMENT,
  name varchar(150) CHARACTER SET utf8 DEFAULT NULL,
  age int(20),
  createTime datetime DEFAULT CURRENT_TIMESTAMP,
  updateTime datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Lalai tidak sah nilai untuk 'createTime 'Salah, Baidu berkata bahawa hanya selepas MySQL 5.6 tarikh masa disokong untuk menetapkan nilai lalai, dan kemudian menukar tarikh masa kepada cap waktu cap waktu.

Apabila dilaksanakan semula, ralat Takrif jadual tidak betul; hanya boleh ada satu lajur TIMESTAMP dengan CURRENT_TIMESTAMP dalam DEFAULT atau ON UPDATEclause ini kerana current_timestamp ditetapkan untuk berbilang cap masa.

Penyelesaian terbaik ialah menaik taraf MySQL kepada versi yang lebih tinggi, seperti 5.7, 8.0 Selepas saya memuat turun MySQL versi 8.0 daripada laman web rasmi, pemasangan telah selesai, dan saya menggunakan Navicat untuk menyambung ke MySQL dan melaporkan. ralat 2059. Ia dikatakan disebabkan oleh ketidakselarasan antara peraturan penyulitan antara 8.0 dan versi sebelumnya.

Gunakan baris arahan untuk memasuki antara muka MySQL dan masukkan arahan berikut

#注意:root1是连接数据库的密码,可以更改为自己想用的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root1' PASSWORD EXPIRE NEVER; #修改数据库的加密规则 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root1'; #更新一下localhost的密码 
FLUSH PRIVILEGES; #刷新权限

Pembelajaran yang disyorkan: "Tutorial Video MySQL"

Atas ialah kandungan terperinci Apa yang perlu dilakukan jika ralat datetime mysql berlaku. 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