Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy można zdefiniować kolumnę sygnatury czasowej, która nie ma wartości null i nie ma wartości domyślnej ani specjalnego zachowania podczas aktualizacji?

Szczególnym przypadkiem są kolumny sygnatury czasowej. Zobacz tutaj :Domyślnie kolumny TIMESTAMP mają wartość NOT NULL, nie mogą zawierać wartości NULL, a przypisanie NULL przypisuje bieżący znacznik czasu.

Aby uzyskać bardziej szczegółowe informacje, przeczytaj Domyślne wartości typu danych .

W szczególności ta sytuacja ma zastosowanie, gdy nie działa w trybie ścisłym. Jeśli działasz w trybie ścisłym, wstawienie wartości NULL spowoduje wyświetlenie błędu.

To powinno się tym zająć:

ALTER TABLE tableName ALTER COLUMN columnName DROP DEFAULT;

Jeśli to nie zadziała, zrobienie tego ma pozostawić domyślne (łatwo nadpisane), ale usunąć ON UPDATE:

ALTER TABLE tableName CHANGE columnName columnName NOT NULL DEFAULT CURRENT_TIMESTAMP;

Zwróć uwagę na powtarzającą się nazwę kolumny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skrypt Python 3.2 do łączenia się z lokalną bazą danych MySQL

  2. Co to jest Option=N w ciągu połączenia MySQL ODBC?

  3. Zwiększenie automatycznego przyrostu mySQL o 10 (ClearDB i Node)

  4. Jak wyświetlić sortowanie serwerów w MySQL?

  5. Czy naprawdę potrzebne są cudzysłowy wokół tabel i kolumn w zapytaniu MySQL?