Bạn có thể sử dụng lệnh DEFAULT cho việc này. Sau đây là cú pháp -
alter table yourTableName change yourColumnName yourColumnName TINYINT(1) DEFAULT 1 NOT NULL;
Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserName varchar(20), UserAge int, isMarried tinyint(1) ); Query OK, 0 rows affected (0.80 sec)
Hãy để chúng tôi kiểm tra mô tả của bảng -
mysql> desc DemoTable;
Điều này sẽ tạo ra kết quả sau -
+-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | isMarried | tinyint(1) | YES | | NULL | | +-----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.21 sec)
Sau đây là truy vấn để thay đổi giá trị mặc định tinyint thành 1 -
mysql> alter table DemoTable change isMarried isMarried TINYINT(1) DEFAULT 1 NOT NULL; Query OK, 0 rows affected (1.29 sec) Records: 0 Duplicates: 0 Warnings: 0
Hãy để chúng tôi kiểm tra mô tả của bảng một lần nữa. Giá trị mặc định của tinyint đã được thay đổi thành 1 -
mysql> desc DemoTable;
Điều này sẽ tạo ra kết quả sau -
+-----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(20) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | isMarried | tinyint(1) | NO | | 1 | | +-----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)