11.2.5 & NBSP; Khởi tạo và cập nhật tự động cho Timestamp và DateTime
Các cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 và CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
4 có thể được tự động khởi tạo và cập nhật vào ngày và giờ hiện tại [nghĩa là dấu thời gian hiện tại].Đối với bất kỳ cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 hoặc CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
4 nào trong bảng, bạn có thể gán dấu thời gian hiện tại làm giá trị mặc định, giá trị cập nhật tự động hoặc cả hai:Một cột tự động khởi xướng được đặt thành dấu thời gian hiện tại cho các hàng được chèn chỉ định không có giá trị cho cột.
Một cột tự động cập nhật được tự động cập nhật lên dấu thời gian hiện tại khi giá trị của bất kỳ cột nào khác trong hàng được thay đổi từ giá trị hiện tại của nó. Một cột tự động được cập nhật vẫn không thay đổi nếu tất cả các cột khác được đặt thành các giá trị hiện tại của chúng. Để ngăn một cột tự động cập nhật cập nhật khi các cột khác thay đổi, hãy đặt nó thành giá trị hiện tại của nó. Để cập nhật một cột tự động được cập nhật ngay cả khi các cột khác không thay đổi, hãy đặt rõ ràng nó thành giá trị cần có [ví dụ: đặt nó thành
7].CREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
Ngoài ra, nếu biến hệ thống
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
8 bị vô hiệu hóa, bạn có thể khởi tạo hoặc cập nhật bất kỳ cột CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 [nhưng không phải CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
4] vào ngày và thời gian hiện tại bằng cách gán giá trị CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1, trừ khi nó được xác định với thuộc tính CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 cho cho phép CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 .Để chỉ định các thuộc tính tự động, hãy sử dụng các điều khoản
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
4 và CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
5 trong các định nghĩa cột. Thứ tự của các điều khoản không quan trọng. Nếu cả hai có mặt trong một định nghĩa cột, một trong hai có thể xảy ra đầu tiên. Bất kỳ từ đồng nghĩa nào cho CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
7 đều có ý nghĩa tương tự như CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
7. Đây là CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
8, CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
9, CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
0, CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
1, CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
2 và CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
3.Việc sử dụng
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
4 và CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
5 là cụ thể cho CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 và CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
4. Điều khoản CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
8 cũng có thể được sử dụng để chỉ định giá trị mặc định hằng số [không tự nhiên] [ví dụ: CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
9 hoặc CREATE TABLE t1 [
ts1 TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- default 0
ts2 TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP -- default NULL
];
0].
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 hoặc CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
4 Định nghĩa cột có thể chỉ định dấu thời gian hiện tại cho cả hai giá trị cập nhật mặc định và tự động, cho cái này nhưng không phải cái kia hoặc không. Các cột khác nhau có thể có sự kết hợp khác nhau của các thuộc tính tự động. Các quy tắc sau đây mô tả các khả năng:Với cả
4 vàCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
5, cột có dấu thời gian hiện tại cho giá trị mặc định của nó và được tự động cập nhật lên dấu thời gian hiện tại.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
CREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ];
Với mệnh đề
8 nhưng không có mệnh đềCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
6, cột có giá trị mặc định đã cho và không được tự động cập nhật lên dấu thời gian hiện tại.CREATE TABLE t1 [ ts1 TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- default 0 ts2 TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP -- default NULL ];
Mặc định phụ thuộc vào điều khoản
8 chỉ địnhCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
7 hay giá trị không đổi. VớiCREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
7, mặc định là dấu thời gian hiện tại.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
CREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
Với một hằng số, mặc định là giá trị đã cho. Trong trường hợp này, cột không có thuộc tính tự động nào cả.
CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
Với mệnh đề
5 và mệnh đề hằng sốCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
8, cột được tự động cập nhật lên dấu thời gian hiện tại và có giá trị mặc định không đổi đã cho.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
Với mệnh đề
5 nhưng không có mệnh đềCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
8, cột được tự động cập nhật lên dấu thời gian hiện tại nhưng không có dấu thời gian hiện tại cho giá trị mặc định của nó.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
Mặc định trong trường hợp này là phụ thuộc loại.
3 có mặc định là 0 trừ khi được xác định với thuộc tínhCREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
1, trong trường hợp đó mặc định làCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
CREATE TABLE t1 [ ts1 TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- default 0 ts2 TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP -- default NULL ];
4 có mặc định làCREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
1 trừ khi được xác định với thuộc tínhCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
9, trong trường hợp đó mặc định là 0.CREATE TABLE t1 [ dt1 DATETIME ON UPDATE CURRENT_TIMESTAMP, -- default NULL dt2 DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP -- default 0 ];
CREATE TABLE t1 [ dt1 DATETIME ON UPDATE CURRENT_TIMESTAMP, -- default NULL dt2 DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP -- default 0 ];
Các cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 và CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
4 không có thuộc tính tự động trừ khi chúng được chỉ định rõ ràng, với ngoại lệ này: Nếu biến hệ thống CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
8 bị vô hiệu hóa, cột CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 đầu tiên có cả CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
4 và CREATE TABLE t1 [
ts1 TIMESTAMP DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
CREATE TABLE t2 [
ts1 TIMESTAMP NULL,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
CREATE TABLE t3 [
ts1 TIMESTAMP NULL DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
5 nếu không được chỉ định rõ ràng. Để ngăn chặn các thuộc tính tự động cho cột CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 đầu tiên, hãy sử dụng một trong những chiến lược này:first
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 column has both CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
4 and CREATE TABLE t1 [
ts1 TIMESTAMP DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
CREATE TABLE t2 [
ts1 TIMESTAMP NULL,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
CREATE TABLE t3 [
ts1 TIMESTAMP NULL DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
5 if neither is specified explicitly. To suppress automatic properties for the first CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 column, use one of these strategies: Kích hoạt biến hệ thống
8. Trong trường hợp này, các điều khoảnCREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
8 vàCREATE TABLE t1 [ ts1 TIMESTAMP DEFAULT 0, ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP]; CREATE TABLE t2 [ ts1 TIMESTAMP NULL, ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP]; CREATE TABLE t3 [ ts1 TIMESTAMP NULL DEFAULT 0, ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP];
9 chỉ định khởi tạo và cập nhật tự động có sẵn, nhưng không được gán cho bất kỳ cộtCREATE TABLE t1 [ ts1 TIMESTAMP DEFAULT 0, ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP]; CREATE TABLE t2 [ ts1 TIMESTAMP NULL, ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP]; CREATE TABLE t3 [ ts1 TIMESTAMP NULL DEFAULT 0, ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP];
3 nào trừ khi được bao gồm rõ ràng trong định nghĩa cột.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
Ngoài ra, nếu
8 bị vô hiệu hóa, hãy thực hiện một trong hai điều sau:CREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
Xác định cột với mệnh đề
8 chỉ định giá trị mặc định không đổi.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
Chỉ định thuộc tính
1. Điều này cũng khiến cột cho phép các giá trịCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1, điều đó có nghĩa là bạn không thể gán dấu thời gian hiện tại bằng cách đặt cột thànhCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1. GánCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1 Đặt cột thànhCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1, không phải là dấu thời gian hiện tại. Để gán dấu thời gian hiện tại, đặt cột thànhCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
7 hoặc một từ đồng nghĩa nhưCREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
9.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
Xem xét các định nghĩa bảng sau:
CREATE TABLE t1 [
ts1 TIMESTAMP DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
CREATE TABLE t2 [
ts1 TIMESTAMP NULL,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
CREATE TABLE t3 [
ts1 TIMESTAMP NULL DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP];
Các bảng có các thuộc tính này:
Trong mỗi định nghĩa bảng, cột
3 đầu tiên không có khởi tạo hoặc cập nhật tự động.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
Các bảng khác nhau về cách cột
1 xử lý các giá trịCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1. Đối vớiCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
3,CREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1 làCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
5 và gán cho nó một giá trị củaCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1 đặt nó thành dấu thời gian hiện tại. Đối vớiCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
7 vàCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
8,CREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1 cho phépCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1 và gán cho nó một giá trịCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1 đặt nó thànhCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
7 vàCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
8 khác nhau về giá trị mặc định choCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1. Đối vớiCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
7,CREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1 được xác định để cho phépCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1, do đó mặc định cũng làCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
1 trong trường hợp không có mệnh đềCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
8 rõ ràng. Đối vớiCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP, dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP ];
8,CREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1 cho phépCREATE TABLE t1 [ ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3] ];
1 nhưng có mặc định rõ ràng là 0.CREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
Nếu định nghĩa cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 hoặc CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
4 bao gồm một phần chính xác rõ ràng giá trị chính xác ở bất cứ đâu, thì cùng một giá trị phải được sử dụng trong suốt định nghĩa cột. Điều này được cho phép:CREATE TABLE t1 [
ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP[6] ON UPDATE CURRENT_TIMESTAMP[6]
];
Điều này không được phép:
CREATE TABLE t1 [
ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3]
];
Khởi tạo dấu thời gian và thuộc tính null
Nếu biến hệ thống
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
8 bị vô hiệu hóa, các cột CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 theo mặc định là CREATE TABLE t1 [
ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3]
];
5, không thể chứa các giá trị CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 và gán CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 gán dấu thời gian hiện tại. Để cho phép cột CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 chứa CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1, khai báo rõ ràng với thuộc tính CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1. Trong trường hợp này, giá trị mặc định cũng trở thành CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 trừ khi được ghi đè với mệnh đề CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
8 chỉ định một giá trị mặc định khác. CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
16 có thể được sử dụng để chỉ định rõ ràng CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 làm giá trị mặc định. .Bảng sau chứa một số cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 cho phép các giá trị CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1:CREATE TABLE t
[
ts1 TIMESTAMP NULL DEFAULT NULL,
ts2 TIMESTAMP NULL DEFAULT 0,
ts3 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
];
Một cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 cho phép các giá trị CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 không đảm nhận thời gian hiện tại vào thời điểm chèn ngoại trừ trong một trong các điều kiện sau:not take on the current
timestamp at insert time except under one of the following conditions: Giá trị mặc định của nó được xác định là
7 và không có giá trị nào được chỉ định cho cộtCREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
7 hoặc bất kỳ từ đồng nghĩa nào của nó nhưCREATE TABLE t1 [ ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP, dt DATETIME DEFAULT CURRENT_TIMESTAMP ];
9 được chèn rõ ràng vào cộtCREATE TABLE t1 [ ts TIMESTAMP DEFAULT 0, dt DATETIME DEFAULT 0 ];
Nói cách khác, cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 được xác định để cho phép CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 chỉ tự động khởi tạo nếu định nghĩa của nó bao gồm CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
4:CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
0Nếu cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 cho phép các giá trị CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 nhưng định nghĩa của nó không bao gồm CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP,
dt DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
];
4, bạn phải chèn rõ ràng một giá trị tương ứng với ngày và giờ hiện tại. Giả sử rằng các bảng CREATE TABLE t1 [
ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3]
];
3 và CREATE TABLE t1 [
ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3]
];
7 có các định nghĩa sau:CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
1Để đặt cột
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 trong cả hai bảng thành dấu thời gian hiện tại vào thời điểm chèn, gán rõ ràng giá trị đó. Ví dụ:CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
2Nếu biến hệ thống
CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
8 được bật, các cột CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 chỉ cho phép các giá trị CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 nếu được khai báo với thuộc tính CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1. Ngoài ra, các cột CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
3 không cho phép gán CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 gán dấu thời gian hiện tại, cho dù được khai báo với thuộc tính CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
1 hoặc CREATE TABLE t1 [
ts TIMESTAMP[6] DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP[3]
];
5. Để gán dấu thời gian hiện tại, đặt cột thành CREATE TABLE t1 [
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
dt DATETIME DEFAULT CURRENT_TIMESTAMP
];
7 hoặc một từ đồng nghĩa như CREATE TABLE t1 [
ts TIMESTAMP DEFAULT 0,
dt DATETIME DEFAULT 0
];
9.