Sto cercando la sintassi per aggiungere una colonna a un database MySQL con un valore predefinito di 0
Sto cercando la sintassi per aggiungere una colonna a un database MySQL con un valore predefinito di 0
Risposte:
Prova questo:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
Dalla documentazione che hai collegato a:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
...
ADD [COLUMN] (col_name column_definition,...)
...
Per trovare la sintassi per la column_definition
ricerca un po 'più in basso nella pagina:
Le clausole column_definition utilizzano la stessa sintassi per ADD e CHANGE di CREATE TABLE. Vedere la Sezione 12.1.17, "CREAZIONE della sintassi della TABELLA".
E dalla pagina collegata:
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]
Notare la parola DEFAULT lì.
TINYINT(1)
quali è molto più efficiente dell'uso INT
, tenere presente che quando si utilizza questa risposta "corretta"
Come questo?
ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;
tablename
ADD new_col_name
INT NOT NULL DEFAULT '1';
Puoi provare questo,
ALTER TABLE table_name ADD column_name INT DEFAULT 0;
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
Prova questo :)
ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
Un'altra parola chiave utile è PRIMA e DOPO se si desidera aggiungerla in un punto specifico della tabella.
ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0;
bar
dovrebbe essere * dopo INT