Der DEFAULT CURRENT_TIMESTAMP
Unterstützung für ein DATETIME
(Datentyp) wurde in MySQL 5.6 hinzugefügt.
In 5.5 und früheren Versionen galt dies nur für TIMESTAMP
(Datentyp) Spalten.
Es ist möglich, einen BEFORE INSERT
zu verwenden Trigger in 5.5, um einer Spalte einen Standardwert zuzuweisen.
DELIMITER $$
CREATE TRIGGER ...
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
IF NEW.mycol IS NULL THEN
SET NEW.mycol = NOW();
END IF;
END$$
Groß-/Kleinschreibung (bei Abfragen für in Spalten gespeicherte Werte) liegt an der collation
für die Säule verwendet. Sortierungen, die auf _ci
enden Groß-/Kleinschreibung wird nicht beachtet. Zum Beispiel latin1_swedish_ci
Groß-/Kleinschreibung wird nicht beachtet, aber latin1_general_cs
unterscheidet zwischen Groß- und Kleinschreibung.
Die Ausgabe von SHOW CREATE TABLE foo
zeigt den Zeichensatz und die Sortierung für die Zeichentypspalten an. Dies wird pro Spalte angegeben. Der auf Tabellenebene angegebene "Standard" gilt für neue Spalten, die der Tabelle hinzugefügt werden, wenn die neue Spaltendefinition keinen Zeichensatz angibt.
AKTUALISIEREN
Kaii wies darauf hin, dass sich meine Antwort zur „Groß-/Kleinschreibung“ auf Werte bezieht, die in Spalten gespeichert sind, und ob Abfragen einen Wert aus einer Spalte zurückgeben, die einen Wert von "New"
enthält wird mit einem Prädikat wie "t.col = 'new'"
zurückgegeben .
Siehe Kaiis Antwort zu Identifikatoren (z. B. Tabellennamen) unter Windows (standardmäßig) anders gehandhabt als unter Linux.