MySQL作為最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,其創(chuàng)建表操作的重要性不言而喻,而唯一性約束則是表中數(shù)據(jù)的完整性保障機(jī)制之一。下面將對(duì)MySQL中創(chuàng)建表時(shí)的唯一性約束做簡(jiǎn)單介紹。
在MySQL中,唯一性約束可以通過(guò)UNIQUE關(guān)鍵字實(shí)現(xiàn)。例如,在創(chuàng)建一個(gè)人員信息表時(shí),需要保證身份證號(hào)唯一,代碼如下:
CREATE TABLE person_info( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, id_number VARCHAR(18) UNIQUE NOT NULL );
通過(guò)在列定義中加上UNIQUE關(guān)鍵字,即可實(shí)現(xiàn)對(duì)該列的唯一性約束。當(dāng)使用INSERT語(yǔ)句向該表中添加數(shù)據(jù)時(shí),如果違反了唯一性約束,MySQL服務(wù)器將會(huì)拒絕該操作,保證了數(shù)據(jù)的完整性。
需要注意的是,唯一性約束可以跨多個(gè)列來(lái)實(shí)現(xiàn)。例如,在創(chuàng)建一個(gè)訂單表時(shí),需要保證訂單號(hào)和訂單日期的組合唯一,代碼如下:
CREATE TABLE order_info( id INT PRIMARY KEY AUTO_INCREMENT, order_number INT NOT NULL, order_date DATE NOT NULL, customer_name VARCHAR(20) NOT NULL, UNIQUE(order_number, order_date) );
上述代碼通過(guò)在多個(gè)列名之間用逗號(hào)隔開(kāi),來(lái)實(shí)現(xiàn)對(duì)多列的唯一性約束。
總之,在MySQL中,通過(guò)UNIQUE關(guān)鍵字來(lái)實(shí)現(xiàn)對(duì)列或列組合的唯一性約束,可以保證表中數(shù)據(jù)的完整性和準(zhǔn)確性。