Rumah >pangkalan data >tutorial mysql >mysql menetapkan nilai lalai
MySQL ialah sistem pengurusan pangkalan data hubungan yang digunakan secara meluas. Dalam MySQL, kita boleh menetapkan nilai lalai untuk lajur dalam jadual untuk memastikan bahawa apabila baris baharu dimasukkan, jika pengguna tidak menentukan nilai untuk lajur, lajur diisi secara automatik dengan nilai lalai. Dalam artikel ini, kita akan membincangkan cara menetapkan nilai lalai dalam MySQL.
Nilai lalai ialah nilai yang diisi secara automatik dalam lajur itu apabila baris baharu dimasukkan ke dalam jadual. Apabila pengguna tidak menentukan nilai untuk lajur, sistem secara automatik mengisi lajur dengan nilai lalai. Jika pengguna memberikan nilai, nilai tersebut akan digunakan sebagai nilai untuk lajur.
Dalam MySQL, kita boleh menggunakan kata kunci DEFAULT untuk menetapkan nilai lalai. Kata kunci ini mengarahkan sistem untuk menggunakan nilai lalai apabila memasukkan baris baharu. Berikut ialah contoh:
Mula-mula, mari buat jadual ringkas dengan tiga lajur: id, nama pengguna dan e-mel:
BUAT pengguna JADUAL(
id INT NOT NULL AUTO_INCREMENT ,
nama pengguna VARCHAR(50) BUKAN NULL,
e-mel VARCHAR(50) BUKAN NULL,
KUNCI UTAMA (id)
);
Seterusnya, kami menambah pada jadual Tambah lajur baharu created_at dengan nilai lalai yang akan mengandungi tarikh dan masa penciptaan setiap pengguna:
UBAH JADUAL pengguna TAMBAH dibuat_pada TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
Dalam pernyataan di atas, Kami telah menggunakan kata kunci ADD untuk menambah lajur baharu ke jadual. Kami menggunakan klausa DEFAULT CURRENT_TIMESTAMP untuk menetapkan nilai lalai lajur ini kepada cap masa semasa, iaitu, apabila memasukkan baris baharu, sistem akan secara automatik menetapkan lajur create_at kepada masa semasa.
Kami juga boleh menggunakan pemalar untuk menetapkan nilai lalai. Sebagai contoh, jika kami ingin menetapkan lajur Boolean, kami boleh menggunakan pernyataan berikut:
UBAH JADUAL pengguna TAMBAH is_aktif BOOLEAN DEFAULT TRUE;
Dalam pernyataan di atas, kami menggunakan klausa DEFAULT untuk menetapkan Nilai lalai untuk lajur Boolean ialah TRUE.
Jika kita ingin menukar nilai lalai lajur, kita boleh menggunakan pernyataan ALTER TABLE. Sebagai contoh, mari tukar nilai lalai lajur create_at kepada 1 Januari 2020:
UBAH pengguna JADUAL UBAHSUAI create_at TIMESTAMP DEFAULT '2020-01-01 00:00:00';
Dalam pernyataan di atas, kami menggunakan kata kunci MODIFY untuk menukar jenis data dan nilai lalai lajur created_at. Kami menetapkan tarikh dan masa lalai dalam klausa DEFAULT, yang akan digunakan secara automatik apabila memasukkan baris baharu.
Jika kita ingin mengalih keluar nilai lalai lajur, kita boleh menggunakan pernyataan ALTER TABLE. Sebagai contoh, mari kita keluarkan nilai lalai lajur created_at:
UBAH pengguna JADUAL ALTER COLUMN created_at DROP DEFAULT;
Dalam pernyataan di atas, kami menggunakan perintah ALTER COLUMN untuk mengalih keluar nilai lalai bagi create_at lajur.
Untuk melihat nilai lalai lajur, gunakan pernyataan DESCRIBE atau SHOW CREATE TABLE. Sebagai contoh, berikut ialah maklumat terperinci jadual pengguna menggunakan pernyataan DESCRIBE:
DESCRIBE pengguna;
Outputnya adalah seperti berikut:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id | int(11) | NO | PRI | NULL | auto_increment |
username | varchar(50) | NO | NULL | ||
varchar(50) | NO | NULL | |||
created_at | timestamp | YES | NULL | ||
is_active | tinyint(1) | YES | 1 |
Dalam jadual di atas , kita boleh lihat Nilai lalai untuk lajur created_at ialah NULL, yang menunjukkan bahawa lajur tidak mempunyai nilai lalai. Kami juga boleh melihat pernyataan penciptaan lengkap jadual pengguna:
TUNJUKKAN CREATE TABLE pengguna;
Outputnya adalah seperti berikut:
CREATE TABLE users
(
id
int (11) BUKAN NULL AUTO_INCREMENT,
username
varchar(50) BUKAN NULL,
email
varchar(50) BUKAN NULL,
created_at
cap waktu NULL NULL,is_active
Ringkasanid
Atas ialah kandungan terperinci mysql menetapkan nilai lalai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!