Estoy buscando la sintaxis para agregar una columna a una base de datos MySQL con un valor predeterminado de 0
237
Estoy buscando la sintaxis para agregar una columna a una base de datos MySQL con un valor predeterminado de 0
Prueba esto:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
De la documentación que vinculó a:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
...
ADD [COLUMN] (col_name column_definition,...)
...
Para encontrar la sintaxis para column_definition
buscar un poco más abajo en la página:
Las cláusulas column_definition usan la misma sintaxis para ADD y CHANGE que para CREATE TABLE. Consulte la Sección 12.1.17, "Sintaxis CREAR TABLA".
Y desde la 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 la palabra PREDETERMINADA allí.
TINYINT(1)
que es mucho más eficiente que usarINT
, tenga esto en cuenta al usar esta respuesta "correcta"¿Me gusta esto?
fuente
tablename
ADDnew_col_name
INT NOT NULL DEFAULT '1';Simplemente agregue
default 0
al final de suALTER TABLE <table> ADD COLUMN <column> <type>
estado de cuentafuente
usuarios de la tabla (user_id int unsigned PK, username varchar (32))
fuente
Esto funcionará para el tipo ENUM como valor predeterminado
fuente
Puedes probar esto,
fuente
fuente
Si está aprendiendo, es útil usar una GUI como SQLyog , realice los cambios utilizando el programa y luego vea la pestaña Historial para ver las declaraciones DDL que hicieron esos cambios.
fuente
fuente
Otra palabra clave útil es PRIMERO y DESPUÉS si desea agregarla en un lugar específico de su tabla.
fuente
bar
debe ser * después de INT