成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

一、設(shè)置MySQL表字段的唯一性

MySQL表中,主鍵字段是默認(rèn)唯一的。但對于非主鍵字段,如何設(shè)置唯一性約束呢?下面我將分享一些經(jīng)驗(yàn):1. 創(chuàng)建表并設(shè)置唯一性約束首先,我們在test數(shù)據(jù)庫中創(chuàng)建一個名為chengshi的表,主鍵是id

MySQL表中,主鍵字段是默認(rèn)唯一的。但對于非主鍵字段,如何設(shè)置唯一性約束呢?下面我將分享一些經(jīng)驗(yàn):

1. 創(chuàng)建表并設(shè)置唯一性約束

首先,我們在test數(shù)據(jù)庫中創(chuàng)建一個名為chengshi的表,主鍵是id,另外有shengfen和chengshi兩個字段。我們希望chengshi字段具有唯一性約束:

```sql

CREATE TABLE `chengshi` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`shengfen` varchar(10) DEFAULT NULL,

`chengshi` varchar(10) DEFAULT NULL,

`shijian` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (`id`)

) ENGINEInnoDB AUTO_INCREMENT10 DEFAULT CHARSETutf8;

```

2. 插入數(shù)據(jù)并查看

接下來我們向表中插入一些數(shù)據(jù):

```sql

INSERT INTO `chengshi` (`id`, `shengfen`, `chengshi`, `shijian`) VALUES

(1, '河南', '安陽', '2019-03-05 10:14:27'),

(2, '河南', '鄭州', '2019-03-05 10:14:27'),

(3, '河南', '洛陽', '2019-03-05 10:14:27'),

(4, '河南', '漯河', '2019-03-05 10:14:27'),

(5, '河南', '新鄉(xiāng)', '2019-03-05 10:14:27'),

(6, '河南', '濮陽', '2019-03-05 10:14:27'),

(7, '河南', '焦作', '2019-03-05 10:14:27'),

(8, '河南', '鶴壁', '2019-03-05 10:14:27'),

(9, '河南', '開封', '2019-03-05 10:14:27');

```

查詢表中的數(shù)據(jù):

```sql

SELECT * FROM chengshi;

```

3. 設(shè)置chengshi字段為唯一索引

現(xiàn)在我們需要為chengshi字段設(shè)置唯一性約束,可以通過添加唯一索引的方式實(shí)現(xiàn):

```sql

ALTER TABLE `test`.`chengshi`

ADD UNIQUE INDEX `chengshi` (`chengshi`);

```

4. 驗(yàn)證唯一性約束

接下來我們嘗試對表中的數(shù)據(jù)進(jìn)行一些操作,看看唯一性約束是否生效:

1. 嘗試將id為1的城市修改為"鄭州",會報錯,因?yàn)?鄭州"已經(jīng)存在了:

```sql

UPDATE chengshi SET chengshi'鄭州' WHERE id1;

```

2. 嘗試插入一個新的"安陽"城市,也會報錯,因?yàn)?安陽"已經(jīng)存在:

```sql

INSERT INTO chengshi(shengfen,chengshi)VALUES('河南','安陽');

```

綜上所述,我們成功為chengshi字段設(shè)置了唯一性約束,在對表數(shù)據(jù)進(jìn)行操作時,就不會出現(xiàn)重復(fù)數(shù)據(jù)的情況了。希望這些經(jīng)驗(yàn)對你學(xué)習(xí)MySQL有所幫助,歡迎點(diǎn)贊收藏!

如何設(shè)置MySQL表字段的唯一性

1. 在創(chuàng)建表時,為需要設(shè)置唯一性的字段添加UNIQUE關(guān)鍵字,如:

```sql

CREATE TABLE `chengshi` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`shengfen` varchar(10) DEFAULT NULL,

`chengshi` varchar(10) UNIQUE DEFAULT NULL,

`shijian` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (`id`)

) ENGINEInnoDB AUTO_INCREMENT10 DEFAULT CHARSETutf8;

```

2. 對于已經(jīng)創(chuàng)建好的表,可以使用ALTER TABLE語句添加唯一性索引:

```sql

ALTER TABLE `test`.`chengshi`

ADD UNIQUE INDEX `chengshi` (`chengshi`);

```

3. 驗(yàn)證唯一性約束:

- 嘗試更新重復(fù)數(shù)據(jù)會報錯

- 嘗試插入重復(fù)數(shù)據(jù)也會報錯

通過以上步驟,就可以很方便地為MySQL表的字段設(shè)置唯一性約束,避免出現(xiàn)重復(fù)數(shù)據(jù)的情況。希望這些經(jīng)驗(yàn)對你學(xué)習(xí)MySQL有所幫助,歡迎點(diǎn)贊收藏!

標(biāo)簽: