Mam tabelę z tysiącami wierszy. Ponieważ początkowo tabela nie została zbudowana z kolumną created_at, nie ma możliwości uzyskania ich sygnatury czasowej utworzenia. Ważne jest jednak, aby zacząć pobierać sygnatury czasowe dla przyszłych wierszy.
Czy istnieje sposób, aby dodać kolumnę sygnatury czasowej z wartością domyślną NOW (), aby nie wypełniała ona wartości w poprzednich wierszach, ale tylko w przyszłych?
Jeśli wykonam ALTER
zapytanie, zapełni wszystkie wiersze datownikiem:
ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
źródło
UPDATE
to nie jest konieczne. Jeśli dodasz kolumnę domyślną do istniejącej kolumny, nie ma to wpływu na już istniejące wiersze. Wartość domyślna jest wypełniana tylko wtedy, gdy dodasz kolumnę i wartość domyślną w tym samym poleceniu.Na przykład utworzę tabelę o nazwie
users
jak poniżej i podam kolumnę o nazwiedate
domyślnejNOW()
Dzięki
źródło
Spróbuj na przykład: -
zastępując
table_name
nazwą swojego stołu.źródło