DEFAULT CURRENT_TIMESTAMP
hỗ trợ cho một DATETIME
(kiểu dữ liệu) đã được thêm vào MySQL 5.6.
Trong các phiên bản 5.5 trở về trước, điều này chỉ áp dụng cho TIMESTAMP
(kiểu dữ liệu).
Có thể sử dụng BEFORE INSERT
kích hoạt trong 5.5 để gán giá trị mặc định cho một cột.
DELIMITER $$
CREATE TRIGGER ...
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
IF NEW.mycol IS NULL THEN
SET NEW.mycol = NOW();
END IF;
END$$
Độ phân biệt chữ hoa chữ thường (của các truy vấn so với các giá trị được lưu trữ trong các cột) là do collation
được sử dụng cho cột. Các cụm từ kết thúc bằng _ci
không phân biệt chữ hoa chữ thường. Ví dụ: latin1_swedish_ci
không phân biệt chữ hoa chữ thường, nhưng latin1_general_cs
phân biệt chữ hoa chữ thường.
Kết quả từ SHOW CREATE TABLE foo
sẽ hiển thị bộ ký tự và đối chiếu cho các cột loại ký tự. Điều này được chỉ định ở cấp độ mỗi cột. "Mặc định" được chỉ định ở cấp bảng áp dụng cho các cột mới được thêm vào bảng khi định nghĩa cột mới không chỉ định tập ký tự.
CẬP NHẬT
Kaii đã chỉ ra rằng câu trả lời của tôi liên quan đến "phân biệt chữ hoa chữ thường" liên quan đến các giá trị được lưu trữ trong các cột và liệu các truy vấn có trả về giá trị từ cột chứa giá trị "New"
hay không sẽ được trả về với một vị từ như "t.col = 'new'"
.
Xem câu trả lời của Kaii về số nhận dạng (ví dụ:tên bảng) được xử lý (theo mặc định) trên Windows khác với trên Linux.