DEFAULT CURRENT_TIMESTAMP
DATETIME
のサポート (データ型)はMySQL5.6で追加されました。
5.5以前のバージョンでは、これは TIMESTAMP
にのみ適用されていました。 (データ型)列。
BEFORE INSERT
を使用することができます 5.5でトリガーして、デフォルト値を列に割り当てます。
DELIMITER $$
CREATE TRIGGER ...
BEFORE INSERT ON mytable
FOR EACH ROW
BEGIN
IF NEW.mycol IS NULL THEN
SET NEW.mycol = NOW();
END IF;
END$$
(列に格納されている値に対するクエリの)大文字と小文字の区別は、 collation
によるものです。 カラムに使用されます。 _ci
で終わる照合 大文字と小文字は区別されません。例: latin1_swedish_ci
大文字と小文字は区別されませんが、 latin1_general_cs
大文字と小文字が区別されます。
SHOW CREATE TABLE foo
からの出力 文字セットと文字タイプ列の照合が表示されます。これは、列ごとのレベルで指定されます。テーブルレベルで指定された「デフォルト」は、新しい列の定義で文字セットが指定されていない場合に、テーブルに追加された新しい列に適用されます。
更新
Kaiiは、「大文字と小文字の区別」に関する私の回答は、列内に格納されている値、およびクエリが"New"
の値を含む列から値を返すかどうかを扱っていると指摘しました。 "t.col = 'new'"
のような述語で返されます 。
識別子に関するKaiiの回答を参照してください (例:テーブル名)WindowsとLinuxでは(デフォルトで)処理が異なります。