MySQL datetime数据类型设置当前时间为默认值
环境:MySQL Sever 5.1 + MySQL命令行工具 问题:MySQL datetime数据类型设置当前时间为默认值 解决: 方法一: 由于MySQL目前字段的默认值不支持函数,所以以create_time datetime default now() 的形式设置默认值是不可能的。代替的方案是 使用 TIMESTAMP
环境:MySQL Sever 5.1 + MySQL命令行工具
问题:MySQL datetime数据类型设置当前时间为默认值
解决:
方法一:
由于MySQL目前字段的默认值不支持函数,所以以create_time datetime default now() 的形式设置默认值是不可能的。代替的方案是使用TIMESTAMP类型代替DATETIME类型。
TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果有多个TIMESTAMP列,只有第一个自动更新。
自动更新第一个TIMESTAMP列在下列任何条件下发生:
1.列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。
2.列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)
3.你明确地设定TIMESTAMP列为NULL.
4.除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。
所以把日期类型 选择成timestamp 允许空就可以了
CREATE TABLE test ( uname varchar(50) NOT NULL, updatetime timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果要在navicat下操作的话,将字段设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可
方法二:
在MySQL5.0以上版本中也可以使用trigger来实现此功能。
create table test_time ( idint(11), create_time datetime ); delimiter | create trigger default_datetime before insert on test_time foreach row if new.create_time is null then set new.create_time = now(); end if;| delimiter ;
参考资料:
mysql 日期默认系统时间 mysql 默认值不支持函数
MySQL的datetime设置当前时间为默认值
MySQL里如何给日期类型设置默认值
MySQL 字段约束 null,notnull,default,auto_increment

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



"Debianstrings" bukan istilah standard, dan makna khususnya masih belum jelas. Artikel ini tidak dapat mengulas secara langsung mengenai keserasian penyemak imbasnya. Walau bagaimanapun, jika "debianstrings" merujuk kepada aplikasi web yang dijalankan pada sistem Debian, keserasian penyemak imbasnya bergantung kepada seni bina teknikal aplikasi itu sendiri. Sebilangan besar aplikasi web moden komited untuk keserasian penyemak imbas. Ini bergantung kepada standard web berikut dan menggunakan teknologi front-end yang serasi (seperti HTML, CSS, JavaScript) dan teknologi back-end (seperti PHP, Python, Node.js, dll.). Untuk memastikan bahawa aplikasi itu serasi dengan pelbagai pelayar, pemaju sering perlu menjalankan ujian silang dan menggunakan responsif

Di bawah rangka kerja beegoorm, bagaimana untuk menentukan pangkalan data yang berkaitan dengan model? Banyak projek beego memerlukan pelbagai pangkalan data untuk dikendalikan secara serentak. Semasa menggunakan beego ...

Artikel ini membincangkan cara mengoptimumkan prestasi laman web mengenai sistem Debian. "Debianstrings" bukan istilah standard dan boleh merujuk kepada alat atau teknologi yang digunakan dalam sistem Debian untuk meningkatkan prestasi laman web. Berikut adalah beberapa petua praktikal: 1. Adalah disyorkan untuk menggunakan panel pagoda untuk memudahkan proses pemasangan dan konfigurasi untuk konfigurasi pelayan web dan php persekitaran. Adalah disyorkan untuk memasang nginx1.22.1 sebagai pelayan web, Php8.2 sebagai penterjemah skrip, dan MySQL10.7.3-Mariadb sebagai sistem pangkalan data. Pastikan untuk membolehkan sambungan PHP yang diperlukan, seperti FileInfo, Opcache, Memcached, Red

Fail log sistem Debian adalah sumber yang berharga untuk pentadbir sistem dan pemaju untuk mendiagnosis masalah dan memantau status operasi sistem. Artikel ini akan memberi tumpuan kepada beberapa maklumat log utama yang tidak dapat diabaikan. Log sistem teras (biasanya terletak di/var/log/syslog atau/var/log/mesej) Log ini merekodkan aktiviti teras sistem, termasuk: Permulaan sistem dan peristiwa penutupan: versi kernel log, keputusan pengesanan perkakasan, dan lain -lain, untuk membantu menjejaki kegagalan permulaan atau pengecualian penutupan. Makluman kegagalan perkakasan: seperti kesilapan cakera, masalah memori, dan lain -lain, untuk segera mengesan masalah perkakasan yang berpotensi. Perubahan Status Perkhidmatan: Catat permulaan perkhidmatan, hentikan dan mulakan semula acara untuk memudahkan pemantauan kesihatan perkhidmatan. Sejarah Log Masuk/Logout:

Pengurusan Sumber dalam Pemrograman GO: MySQL dan Redis Connect dan Lepaskan dalam Pembelajaran Cara Mengurus Sumber Sumber dengan betul, terutamanya dengan pangkalan data dan cache ...

Soalan mengenai Parameter Fungsi Melewati Bahasa Go: Mengapa Pembolehubah Penunjuk tidak diubahsuai? Artikel ini akan menangani masalah tugasan pembolehubah penunjuk dalam program bahasa Go ...

Apabila menggunakan SQL.Open, mengapa DSN tidak melaporkan ralat? Dalam bahasa Go, sql.open ...

Pemprosesan Pesanan dalam Persekitaran Konvensyen Tinggi: Bagaimana untuk mengelakkan kesesakan pangkalan data? Dalam sistem e-dagang, meletakkan pesanan sering melibatkan mengurangkan inventori dan mengemas kini baki pengguna ...
