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

Възможно ли е да се дефинира колона с времеви печат, която не е нула и няма по подразбиране и няма специално поведение при актуализиране?

Колоните с времеви отпечатъци са специален случай. Вижте тук :По подразбиране колоните TIMESTAMP НЕ са NULL, не могат да съдържат стойности NULL и присвояването на NULL присвоява текущото времеви печат.

За по-подробна информация прочетете Стойности по подразбиране за тип данни .

По-конкретно тази ситуация е приложима, когато не се изпълнява в строг режим. Ако се изпълнява в строг режим, вмъкването на NULL ще доведе до грешка.

Това трябва да се погрижи за това:

ALTER TABLE tableName ALTER COLUMN columnName DROP DEFAULT;

Ако това не работи, това трябва да ви остави по подразбиране (лесно се презаписва), но да премахнете ON UPDATE:

ALTER TABLE tableName CHANGE columnName columnName NOT NULL DEFAULT CURRENT_TIMESTAMP;

Обърнете внимание на повтарящото се име на колона.



  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. Деактивиране на проверките на външни ключове в командния ред

  3. Как трябва да се справя с --secure-file-priv в MySQL?

  4. Не може да се спре MySQL на OS X 10.10

  5. получите по географска ширина и дължина в laravel 5 с други съединения