DEFAULT CURRENT_TIMESTAMP
obsługa DATETIME
(typ danych) został dodany w MySQL 5.6.
W wersji 5.5 i wcześniejszych dotyczyło to tylko TIMESTAMP
kolumny (typ danych).
Możliwe jest użycie BEFORE INSERT
wyzwalacz w 5.5, aby przypisać domyślną wartość do kolumny.
DELIMITER $$
CREATE TRIGGER ...
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
IF NEW.mycol IS NULL THEN
SET NEW.mycol = NOW();
END IF;
END$$
Rozróżnianie wielkości liter (zapytań względem wartości przechowywanych w kolumnach) wynika z collation
używany do kolumny. Sortowanie kończące się na _ci
wielkość liter nie jest rozróżniana. Na przykład latin1_swedish_ci
wielkość liter nie jest rozróżniana, ale latin1_general_cs
rozróżnia wielkość liter.
Dane wyjściowe z SHOW CREATE TABLE foo
pokaże zestaw znaków i sortowanie dla kolumn typu znaków. Jest to określane na poziomie kolumny. "Domyślna" określona na poziomie tabeli dotyczy nowych kolumn dodanych do tabeli, gdy nowa definicja kolumny nie określa zestawu znaków.
AKTUALIZUJ
Kaii zwrócił uwagę, że moja odpowiedź dotycząca „rozróżniania wielkości liter” dotyczy wartości przechowywanych w kolumnach i tego, czy zapytania zwrócą wartość z kolumny zawierającej wartość "New"
zostanie zwrócony z predykatem, takim jak "t.col = 'new'"
.
Zobacz odpowiedź Kaii dotyczącą identyfikatorów (np. nazwy tabel) są obsługiwane inaczej (domyślnie) w systemie Windows niż w systemie Linux.