Szukam składni, aby dodać kolumnę do bazy danych MySQL z domyślną wartością 0
Szukam składni, aby dodać kolumnę do bazy danych MySQL z domyślną wartością 0
Odpowiedzi:
Spróbuj tego:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
Z dokumentacji, do której prowadziłeś link:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
...
ADD [COLUMN] (col_name column_definition,...)
...
Aby znaleźć składnię column_definition
wyszukiwania nieco dalej w dół strony:
Klauzule definicji_kolumny używają tej samej składni dla ADD i CHANGE jak dla CREATE TABLE. Patrz Rozdział 12.1.17, „TWORZENIE Składni TABELI”.
I z połączonej strony:
column_definition:
data_type [NOT NULL | NULL] [DEFAULT default_value]
[AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string']
[COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
[STORAGE {DISK|MEMORY|DEFAULT}]
[reference_definition]
Zwróć uwagę na słowo DEFAULT.
TINYINT(1)
których jest o wiele wydajniejszy niż używanie INT
, pamiętaj o tym, używając tej „poprawnej” odpowiedzi
Lubię to?
ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;
tablename
ADD new_col_name
INT NOT NULL DEFAULT '1';
Możesz spróbować
ALTER TABLE table_name ADD column_name INT DEFAULT 0;
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
Spróbuj tego :)
ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
Kolejnym przydatnym słowem kluczowym jest PIERWSZE i PO, jeśli chcesz dodać je w określonym miejscu w tabeli.
ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0;
bar
powinno być * po INT