Giá trị mặc định cho TIMESTAMP trong MySQL là gì?
Ghi chú. Trong các phiên bản MySQL cũ hơn (trước 4. 1), các thuộc tính của kiểu dữ liệu mysql> 7 khác biệt đáng kể theo nhiều cách so với những gì được mô tả trong phần này. Nếu bạn cần chuyển đổi dữ liệu mysql> 7 cũ hơn để hoạt động với MySQL 5. 1, hãy nhớ xem MySQL 3. 23, 4. 0, 4. 1 Hướng dẫn tham khảo để biết chi tiết Show mysql> 7 cột được hiển thị theo cùng định dạng như mysql> 2 cột. Nói cách khác, chiều rộng hiển thị được cố định ở 19 ký tự và định dạng là mysql> 3Máy chủ MySQL cũng có thể được chạy với chế độ SQL mysql> 4 được bật. Khi máy chủ chạy với chế độ này được bật, mysql> 7 giống hệt với mysql> 2. Nghĩa là, nếu chế độ này được bật vào thời điểm tạo bảng, thì mysql> 7 cột sẽ được tạo dưới dạng cột mysql> 2. Do đó, các cột như vậy sử dụng định dạng hiển thị mysql> 2, có cùng phạm vi giá trị và không có khởi tạo hoặc cập nhật tự động cho ngày và giờ hiện tạiĐể bật chế độ mysql> 4, hãy đặt chế độ SQL của máy chủ thành mysql> 4 khi khởi động bằng cách sử dụng tùy chọn máy chủ CREATE TABLE t (ts TIMESTAMP); CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); CREATE TABLE t (ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP);2 hoặc bằng cách đặt biến CREATE TABLE t (ts TIMESTAMP); CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); CREATE TABLE t (ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP);3 toàn cầu khi chạy mysql> 0Máy khách có thể khiến máy chủ chạy ở chế độ mysql> 4 cho kết nối của chính nó như saumysql> Lưu ý rằng thông tin trong cuộc thảo luận sau đây chỉ áp dụng cho các cột mysql> 7 đối với các bảng không được tạo với chế độ mysql> 4 được bật, bởi vì các cột đó được tạo dưới dạng cột mysql> 2MySQL không chấp nhận các giá trị dấu thời gian bao gồm số 0 trong cột ngày hoặc tháng hoặc các giá trị không phải là ngày hợp lệ. Ngoại lệ duy nhất cho quy tắc này là giá trị đặc biệt CREATE TABLE t (ts TIMESTAMP); CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); CREATE TABLE t (ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP);8 Bạn có sự linh hoạt đáng kể trong việc xác định thời điểm khởi tạo và cập nhật mysql> 7 tự động xảy ra và cột nào sẽ có những hành vi đó
Các quy tắc sau chi phối việc khởi tạo và cập nhật cột mysql> 7
Bạn có thể đặt múi giờ hiện tại trên cơ sở mỗi kết nối, như được mô tả trong Phần 5. 10. 8, “Hỗ trợ múi giờ của máy chủ MySQL”. Giá trị mysql> 7 được lưu trữ trong UTC, được chuyển đổi từ múi giờ hiện tại để lưu trữ và được chuyển đổi trở lại múi giờ hiện tại khi truy xuất. Miễn là cài đặt múi giờ không đổi, bạn sẽ nhận lại cùng một giá trị mà bạn lưu trữ. Nếu bạn lưu trữ một giá trị mysql> 7, sau đó thay đổi múi giờ và truy xuất giá trị, thì giá trị được truy xuất sẽ khác với giá trị bạn đã lưu trữ. Điều này xảy ra do cùng một múi giờ không được sử dụng để chuyển đổi theo cả hai hướng. Múi giờ hiện tại có sẵn dưới dạng giá trị của biến hệ thống mysql> 79Bạn có thể bao gồm thuộc tính mysql> 70 trong định nghĩa của cột mysql> 7 để cho phép cột chứa giá trị mysql> 70. Ví dụmysql> 1Nếu thuộc tính mysql> 70 không được chỉ định, việc đặt cột thành mysql> 70 sẽ đặt nó thành dấu thời gian hiện tại. Lưu ý rằng cột mysql> 7 cho phép giá trị mysql> 70 sẽ không lấy dấu thời gian hiện tại ngoại trừ một trong các điều kiện sau
Nói cách khác, cột mysql> 7 được định nghĩa là mysql> 70 sẽ chỉ tự động cập nhật nếu nó được tạo bằng cách sử dụng định nghĩa như saumysql> 7Mặt khác - nghĩa là, nếu cột mysql> 7 được xác định để cho phép các giá trị mysql> 70 nhưng không sử dụng mysql> 74, như được hiển thị ở đây…
Định dạng thời gian mặc định cho MySQL là gì?MySQL truy xuất và hiển thị giá trị DATETIME trong ' YYYY-MM-DD hh. mm. định dạng ss '. Phạm vi được hỗ trợ là '1000-01-01 00. 00. 00' đến '9999-12-31 23. 59. 59'. Kiểu dữ liệu DẤU THỜI GIAN được sử dụng cho các giá trị chứa cả phần ngày và giờ.
Giá trị mặc định cho ngày trong MySQL là gì?Đối với các loại số, giá trị mặc định là 0, ngoại trừ các loại số nguyên hoặc số dấu phẩy động được khai báo bằng thuộc tính AUTO_INCREMENT, giá trị mặc định là giá trị tiếp theo trong chuỗi. Đối với các loại ngày và giờ không phải là DẤU THỜI GIAN , giá trị mặc định là giá trị “không” thích hợp cho loại .
Làm cách nào để đặt TIMESTAMP trong MySQL?Để chứng minh, trước tiên hãy tạo một bảng có tên là Mẫu với sample_ts là trường DẤU THỜI GIAN. TẠO BẢNG Mẫu ( sample_id int NOT NULL, sample_name VARCHAR(20), sample_ts DẤU THỜI GIAN ); . 00' UTC bằng cách ban hành lệnh SET time_zone. SET TIME_ZONE = '+00. 00';
TIMESTAMP hiện tại trong MySQL là gì?Hàm CURRENT_TIMESTAMP() trả về ngày giờ hiện tại. Ghi chú. Ngày và giờ được trả về dưới dạng "YYYY-MM-DD HH-MM-SS" (chuỗi) hoặc dưới dạng YYYYMMDDHHMMSS. uuuuuu (số) |