O
DEFAULT CURRENT_TIMESTAMP suporte para um DATETIME (tipo de dados) foi adicionado no MySQL 5.6. Nas versões 5.5 e anteriores, isso se aplicava apenas a
TIMESTAMP (tipo de dados) colunas. É possível usar um
BEFORE INSERT trigger em 5.5 para atribuir um valor padrão a uma coluna. 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 usado para a coluna. Agrupamentos que terminam em _ci não diferenciam maiúsculas de minúsculas. Por exemplo latin1_swedish_ci não diferencia maiúsculas de minúsculas, mas latin1_general_cs diferencia maiúsculas de minúsculas.A saída de
SHOW CREATE TABLE foo mostrará o conjunto de caracteres e o agrupamento para as colunas de tipo de caractere. Isso é especificado em um nível por coluna. O "padrão" especificado no nível da tabela se aplica a novas colunas adicionadas à tabela quando a nova definição de coluna não especifica um conjunto de caracteres. ATUALIZAÇÃO
Kaii apontou que minha resposta sobre "sensibilidade a maiúsculas e minúsculas" lida com valores armazenados em colunas e se as consultas retornarão um valor de uma coluna contendo um valor de
"New" será retornado com um predicado como "t.col = 'new'" . Veja a resposta de Kaii sobre identificadores (por exemplo, nomes de tabelas) sendo manipulados de forma diferente (por padrão) no Windows e no Linux.