Я ищу синтаксис для добавления столбца в базу данных MySQL со значением по умолчанию 0
237
Попробуй это:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
Из документации, на которую вы ссылались:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
...
ADD [COLUMN] (col_name column_definition,...)
...
Чтобы найти синтаксис для column_definition
поиска немного дальше вниз по странице:
Предложения column_definition используют тот же синтаксис для ADD и CHANGE, что и для CREATE TABLE. См. Раздел 12.1.17, «Синтаксис CREATE TABLE».
И со связанной страницы:
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]
Обратите внимание на слово DEFAULT там.
TINYINT(1)
которых это намного эффективнее, чем использованиеINT
, имейте это в виду при использовании этого «правильного» ответаКак это?
источник
tablename
ADDnew_col_name
INT NOT NULL DEFAULT '1';Просто добавьте
default 0
в конце вашегоALTER TABLE <table> ADD COLUMN <column> <type>
заявленияисточник
пользователи таблицы (user_id int без знака ПК, имя пользователя varchar (32))
источник
Это будет работать для типа ENUM в качестве значения по умолчанию
источник
Вы можете попробовать это,
источник
источник
Если вы изучаете, полезно использовать графический интерфейс, такой как SQLyog , внести изменения с помощью программы, а затем увидеть вкладку «Журнал» для операторов DDL, которые внесли эти изменения.
источник
источник
Другое полезное ключевое слово - ПЕРВЫЙ и ПОСЛЕ, если вы хотите добавить его в определенное место в вашей таблице.
источник
bar
должно быть * после INT