Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi datetime Mysql DEFAULT CURRENT_TIMESTAMP

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php imap - lấy nội dung và tạo văn bản thuần túy

  2. có hàm group_concat trong ms-access không?

  3. Làm cách nào để biết có bao nhiêu kết nối MySQL đang mở?

  4. Hiệu suất MySQL:Chuyển đổi MySQL sang MariaDB

  5. Cập nhật chế độ SQL trong MySQL