在表中建立一個允許為空但預設值為 (非空) 空字串的列?
你需要使用 `default` 關鍵字。語法如下:
alter table yourTableName add yourColumnName yourDataType NULL Default '';
為了理解上述語法,讓我們建立一個表。建立表的查詢如下:
mysql> create table AllowNullDefaulNotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> UserName varchar(20), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.65 sec)
讓我們新增一個允許 NULL 值但預設值設定為非 NULL 的新列。查詢如下:
mysql> alter table AllowNullDefaulNotNullDemo add UserAddress varchar(20) NULL Default''; Query OK, 0 rows affected (1.04 sec) Records: 0 Duplicates: 0 Warnings: 0
現在使用 DESC 命令檢查表的描述。查詢如下:
mysql> desc AllowNullDefaulNotNullDemo;
以下是輸出:
+-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(20) | YES | | NULL | | | UserAddress | varchar(20) | YES | | | | +-------------+-------------+------+-----+---------+----------------+ 3 rows in set (0.17 sec)
現在您可以使用 insert 命令在表中插入一些記錄。在下面的查詢中,UserAddress 列允許 NULL 值,但預設值設定為非 NULL。
讓我們向該列插入記錄。查詢如下:
mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values('US');
Query OK, 1 row affected (0.14 sec)
mysql> insert into AllowNullDefaulNotNullDemo(UserAddress) values(NULL);
Query OK, 1 row affected (0.16 sec)
mysql> insert into AllowNullDefaulNotNullDemo() values();
Query OK, 1 row affected (0.12 sec)檢查新新增列 UserAddress 的特定記錄。查詢如下:
mysql> select UserAddress from AllowNullDefaulNotNullDemo;
以下是輸出:
+-------------+ | UserAddress | +-------------+ | US | | NULL | | | +-------------+ 3 rows in set (0.00 sec)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP