Eu estou procurando a sintaxe para adicionar uma coluna a um banco de dados MySQL com um valor padrão de 0
237
Eu estou procurando a sintaxe para adicionar uma coluna a um banco de dados MySQL com um valor padrão de 0
Tente o seguinte:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
Na documentação à qual você vinculou:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
...
ADD [COLUMN] (col_name column_definition,...)
...
Para encontrar a sintaxe para column_definition
pesquisa um pouco mais abaixo na página:
As cláusulas column_definition usam a mesma sintaxe para ADD e CHANGE que para CREATE TABLE. Consulte a Seção 12.1.17, “Sintaxe CREATE TABLE”.
E a partir da página vinculada:
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]
Observe a palavra PADRÃO lá.
TINYINT(1)
que é muito mais eficiente do que usarINT
, ter isso em mente quando se utiliza esta resposta "correta"Como isso?
fonte
tablename
ADDnew_col_name
INT NOT NULL DEFAULT '1';Basta adicionar
default 0
no final do seuALTER TABLE <table> ADD COLUMN <column> <type>
extratofonte
usuários da tabela (user_id int PK não assinado, nome de usuário varchar (32))
fonte
Isso funcionará para o tipo ENUM como valor padrão
fonte
Você pode tentar isso,
fonte
fonte
Se você estiver aprendendo, é útil usar uma GUI como SQLyog , faça as alterações usando o programa e consulte a guia Histórico das instruções DDL que fizeram essas alterações.
fonte
fonte
Outra palavra-chave útil é PRIMEIRO e DEPOIS, se você quiser adicioná-lo em um ponto específico da sua tabela.
fonte
bar
deve ser * após INT