CHỈNH SỬA
Kể từ MySQL 5.6.4, kiểu dữ liệu TIMESTAMP(n)
chỉ định n
(0 đến 6) chữ số thập phân có độ chính xác cho giây phân số.
Trước MySQL 5.6, MySQL không hỗ trợ giây phân số được lưu trữ như một phần của TIMESTAMP
kiểu dữ liệu.
Tham khảo: https://dev.mysql.com/doc /refman/5.6/en/fractional-seconds.html
Chúng tôi không cần chỉ định công cụ sửa đổi độ dài trên TIMESTAMP
. Chúng tôi chỉ có thể chỉ định TIMESTAMP
của chính nó.
Nhưng lưu ý rằng TIMESTAMP
đầu tiên cột được xác định trong bảng có thể tự động khởi tạo và cập nhật. Ví dụ:
create table foo (id int, ts timestamp, val varchar(2));
show create table foo;
CREATE TABLE `foo` (
`id` INT(11) DEFAULT NULL,
`ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`val` VARCHAR(2) DEFAULT NULL
)
Những gì xảy ra trong parens sau một kiểu dữ liệu phụ thuộc vào kiểu dữ liệu đó là gì, nhưng đối với một số kiểu dữ liệu, nó là một công cụ sửa đổi độ dài.
Đối với một số kiểu dữ liệu, công cụ sửa đổi độ dài ảnh hưởng đến độ dài tối đa của các giá trị có thể được lưu trữ. Ví dụ:VARCHAR(20)
cho phép lưu trữ tối đa 20 ký tự. Và DECIMAL(10,6)
cho phép các giá trị số có bốn chữ số trước dấu thập phân và sáu chữ số sau dấu chấm và phạm vi hiệu quả là -9999.999999 đến 9999.999999.
Đối với các loại khác, công cụ sửa đổi độ dài không ảnh hưởng đến phạm vi giá trị có thể được lưu trữ. Ví dụ:INT(4)
và INT(10)
đều là số nguyên và cả hai đều có thể lưu trữ đầy đủ các giá trị được phép cho kiểu dữ liệu số nguyên.
Những gì mà công cụ sửa đổi độ dài làm trong trường hợp đó chỉ là thông tin. Về cơ bản, nó chỉ định chiều rộng hiển thị được khuyến nghị. Khách hàng có thể tận dụng điều đó để xác định có bao nhiêu không gian dành cho một hàng để hiển thị các giá trị từ cột. Khách hàng không phải làm điều đó, nhưng thông tin đó có sẵn.
CHỈNH SỬA
Công cụ sửa đổi độ dài không còn được chấp nhận cho TIMESTAMP
loại dữ liệu. (Nếu bạn đang chạy một phiên bản MySQL thực sự cũ và nó được chấp nhận, nó sẽ bị bỏ qua.)