Mysql
 sql >> база данни >  >> RDS >> Mysql

Грешка в Mysql datetime DEFAULT CURRENT_TIMESTAMP

DEFAULT CURRENT_TIMESTAMP поддръжка за DATETIME (тип данни) беше добавен в MySQL 5.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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL брои последователни дати за текущата поредица

  2. Въведение в SQL индексите

  3. Алтернатива на Intersect в MySQL

  4. Грешка:Съществува пространство за таблици за таблица xxx. Моля, ИЗХВЪРЛЕТЕ пространството за таблици преди ИМПОРТ

  5. 4 начина за замяна на NULL с различна стойност в MySQL