DEFAULT CURRENT_TIMESTAMP
stöd för en DATETIME
(datatyp) lades till i MySQL 5.6.
I 5.5 och tidigare versioner gällde detta endast TIMESTAMP
(datatyp) kolumner.
Det är möjligt att använda en BEFORE INSERT
trigger i 5.5 för att tilldela ett standardvärde till en kolumn.
DELIMITER $$
CREATE TRIGGER ...
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
IF NEW.mycol IS NULL THEN
SET NEW.mycol = NOW();
END IF;
END$$
Skiftlägeskänslighet (av frågor mot värden lagrade i kolumner) beror på collation
används för kolumnen. Sorteringar som slutar på _ci
är skiftlägesokänsliga. Till exempel latin1_swedish_ci
är skiftlägesokänslig, men latin1_general_cs
är skiftlägeskänslig.
Utdata från SHOW CREATE TABLE foo
kommer att visa teckenuppsättningen och sorteringen för teckentypskolumnerna. Detta anges på kolumnnivå. "Standard" som anges på tabellnivå gäller för nya kolumner som läggs till i tabellen när den nya kolumndefinitionen inte anger en teckenuppsättning.
UPPDATERA
Kaii påpekade att mitt svar angående "skiftlägeskänslighet" handlar om värden lagrade i kolumner, och om frågor kommer att returnera ett värde från en kolumn som innehåller värdet "New"
kommer att returneras med ett predikat som "t.col = 'new'"
.
Se Kaiis svar angående identifierare (t.ex. tabellnamn) hanteras annorlunda (som standard) på Windows än på Linux.