Saya mencari sintaks untuk menambahkan kolom ke database MySQL dengan nilai default 0
237
Coba ini:
ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;
Dari dokumentasi yang Anda tautkan ke:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
...
ADD [COLUMN] (col_name column_definition,...)
...
Untuk menemukan sintaks untuk column_definition
pencarian sedikit lebih jauh ke bawah halaman:
klausa column_definition menggunakan sintaksis yang sama untuk ADD dan CHANGE seperti untuk CREATE TABLE. Lihat Bagian 12.1.17, “CREATE TABLE Syntax”.
Dan dari halaman tertaut:
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]
Perhatikan kata DEFAULT di sana.
TINYINT(1)
yang jauh lebih efisien daripada menggunakanINT
, ingatlah saat menggunakan jawaban "benar" iniSeperti ini?
sumber
tablename
ADDnew_col_name
INT NOT NULL DEFAULT '1';Cukup tambahkan
default 0
di akhirALTER TABLE <table> ADD COLUMN <column> <type>
pernyataan Andasumber
pengguna tabel (user_id int unsigned PK, username varchar (32))
sumber
Ini akan bekerja untuk tipe ENUM sebagai nilai default
sumber
Anda dapat mencoba ini,
sumber
sumber
Jika Anda belajar bahwa menggunakan GUI seperti SQLyog sangat membantu , buat perubahan menggunakan program lalu lihat tab History untuk pernyataan DDL yang membuat perubahan itu.
sumber
sumber
Kata kunci lain yang bermanfaat adalah PERTAMA dan SETELAH jika Anda ingin menambahkannya di tempat tertentu di tabel Anda.
sumber
bar
harus * setelah INT