首頁  >  文章  >  資料庫  >  mysql 預設時間怎麼設定

mysql 預設時間怎麼設定

PHPz
PHPz原創
2023-04-20 10:10:422734瀏覽

MySQL是一種常見的關係型資料庫管理系統。在使用MySQL時,設定預設時間常常是必要的。因為預設時間的設定可以幫助提高資料的準確性。那麼在MySQL中如何設定預設時間呢?本文將為您介紹MySQL預設時間設定的知識。

  1. MySQL時間類型

在MySQL中,時間類型有多種,例如DATE、TIME、DATETIME、YEAR、TIMESTAMP等。這些時間類型分別表示不同的時間格式。以下對這些時間類型進行簡單介紹:

  • DATE:表示日期,格式為YYYY-MM-DD;
  • TIME:表示時間,格式為HH:MM:SS ;
  • DATETIME:表示日期和時間,格式為YYYY-MM-DD HH:MM:SS;
  • YEAR:表示年份,格式為YYYY;
  • TIMESTAMP:時間戳,格式為YYYY-MM-DD HH:MM:SS。
  1. MySQL預設時間設定

在MySQL中,可以使用DEFAULT關鍵字來設定預設值。預設值可以是一個常數、表達式或函數。設定預設時間時可以使用CURRENT_TIMESTAMP函數,它會傳回目前時間的日期和時間。下面是一個範例:

CREATE TABLE `example` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在這個範例中,建立了一個名為example的表。其中,created_at欄位的預設值為CURRENT_TIMESTAMP。這意味著,如果在執行INSERT語句時沒有為created_at賦值,那麼就會自動填入目前時間的日期和時間。

除了使用CURRENT_TIMESTAMP函數外,還可以使用NOW()函數來設定預設時間。 NOW()函數與CURRENT_TIMESTAMP函數的作用相同,都是傳回目前時間的日期與時間。使用NOW()函數來設定預設時間的範例:

CREATE TABLE `example` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `created_at` TIMESTAMP DEFAULT NOW(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

這段程式碼與上一段程式碼不同的是,在created_at列的預設值中使用了NOW()函數。

  1. MySQL預設時間設定的注意事項

在設定預設時間時,需要注意以下幾點:

  • 如果使用CURRENT_TIMESTAMP函數設定預設時間,當更新行時,created_at列的值將會自動更新為目前時間。如果不想更新created_at列的值,可以將列的類型變更為DATETIME類型;
  • 如果使用NOW()函數設定預設時間,updated_at列的值不會自動更新。
  • 如果在多個列中同時使用NOW()函數設定預設時間,那麼這些列的預設值將會是相同的。所以,需要將NOW()函數分別套用在各個欄位。
  1. 結語

本文介紹了MySQL預設時間設定方面的相關知識。在實際使用MySQL時,設定預設時間是非常重要的。透過本文的介紹,相信您已經了解如何設定預設時間,並且在實際應用時也能夠更加得心應手。

以上是mysql 預設時間怎麼設定的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn