亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql 中存在null和空時(shí)創(chuàng)建唯一索引的方法

 更新時(shí)間:2014年10月16日 17:25:32   投稿:whsnow  
據(jù)庫(kù)默認(rèn)值都有null,此時(shí)創(chuàng)建唯一索引時(shí)要注意了,此時(shí)數(shù)據(jù)庫(kù)會(huì)把空作為多個(gè)重復(fù)值

好多情況下數(shù)據(jù)庫(kù)默認(rèn)值都有null,但是經(jīng)過(guò)程序處理很多時(shí)候會(huì)出現(xiàn),數(shù)據(jù)庫(kù)值為空而不是null的情況。此時(shí)創(chuàng)建唯一索引時(shí)要注意了,此時(shí)數(shù)據(jù)庫(kù)會(huì)把空作為多個(gè)重復(fù)值,而創(chuàng)建索引失敗,示例如下:

步驟1:

mysql> select phone ,count(1) from User group by phone;
+-----------------+----------+
| phone | count(1) |
+-----------------+----------+
| NULL | 70 |
| | 40 |
| +86-13390889711 | 1 |
| +86-13405053385 | 1 |

步驟一中發(fā)現(xiàn)數(shù)據(jù)庫(kù)中有70條null數(shù)據(jù),有40條為空的數(shù)據(jù)。

步驟2:

mysql> select count(1) from User where phone is null;
+----------+
| count(1) |
+----------+
| 70 |
+----------+
1 row in set (0.00 sec)

經(jīng)2再次驗(yàn)證數(shù)據(jù)庫(kù)中null和空不一樣的兩個(gè)值。

步驟3:

mysql> alter table User add constraint uk_phone unique(phone);
ERROR 1062 (23000): Duplicate entry '' for key 'uk_phone'
此時(shí)創(chuàng)建索引提示‘ '為一個(gè)重復(fù)的屬性。

步驟4:將所有的空值改成null

mysql> update User set phone = NULL where phone = '';
Query OK, 40 rows affected (0.11 sec)
Rows matched: 40 Changed: 40 Warnings: 0
步驟5:再次創(chuàng)建唯一索引

mysql> alter table User add constraint uk_phone unique(phone);
Query OK, 0 rows affected (0.34 sec)
Records: 0 Duplicates: 0 Warnings: 0

創(chuàng)建成功,OK了

相關(guān)文章

  • 高版本Mysql使用group?by分組報(bào)錯(cuò)的解決方案

    高版本Mysql使用group?by分組報(bào)錯(cuò)的解決方案

    GROUP?BY?語(yǔ)句用于結(jié)合合計(jì)函數(shù),根據(jù)一個(gè)或多個(gè)列對(duì)結(jié)果集進(jìn)行分組,下面這篇文章主要給大家介紹了關(guān)于高版本Mysql使用group?by分組報(bào)錯(cuò)的解決方案,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Mysql將查詢結(jié)果集轉(zhuǎn)換為JSON數(shù)據(jù)的實(shí)例代碼

    Mysql將查詢結(jié)果集轉(zhuǎn)換為JSON數(shù)據(jù)的實(shí)例代碼

    這篇文章主要介紹了Mysql將查詢結(jié)果集轉(zhuǎn)換為JSON數(shù)據(jù)的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • mysql通過(guò)find_in_set()函數(shù)實(shí)現(xiàn)where in()順序排序

    mysql通過(guò)find_in_set()函數(shù)實(shí)現(xiàn)where in()順序排序

    這篇文章主要介紹了mysql通過(guò)find_in_set()函數(shù)實(shí)現(xiàn)where in()順序排序的相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • MySQL與存儲(chǔ)過(guò)程的相關(guān)資料

    MySQL與存儲(chǔ)過(guò)程的相關(guān)資料

    這篇文章主要介紹了MySQL與存儲(chǔ)過(guò)程的相關(guān)資料,需要的朋友可以參考下
    2007-03-03
  • MySQL創(chuàng)建用戶的三種方法

    MySQL創(chuàng)建用戶的三種方法

    在對(duì)MySQL的日常管理和操作中,為了避免有人惡意使用root用戶控制數(shù)據(jù)庫(kù),盡可能地不用或少用 root 用戶登錄系統(tǒng),本文主要介紹了MySQL創(chuàng)建用戶的三種方法,感興趣的可以了解一下
    2023-08-08
  • 怎樣獲取MySQL結(jié)果集的第一條記錄

    怎樣獲取MySQL結(jié)果集的第一條記錄

    這篇文章主要介紹了怎樣獲取MySQL結(jié)果集的第一條記錄問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 大幅提升MySQL中InnoDB的全表掃描速度的方法

    大幅提升MySQL中InnoDB的全表掃描速度的方法

    這篇文章主要介紹了大幅提升MySQL中InnoDB的全表掃描速度的方法,作者談到了預(yù)讀取和多次async I/O請(qǐng)求等方法,減小InnoDB對(duì)MySQL速度的影響,需要的朋友可以參考下
    2015-06-06
  • DBeaver連接mysql和oracle數(shù)據(jù)庫(kù)圖文教程

    DBeaver連接mysql和oracle數(shù)據(jù)庫(kù)圖文教程

    DBeaver是一款免費(fèi)的數(shù)據(jù)庫(kù)管理工具,支持多種數(shù)據(jù)庫(kù),包括MySQL,下面這篇文章主要給大家介紹了關(guān)于DBeaver連接mysql和oracle數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • mysql字符串拼接的幾種實(shí)用方式小結(jié)

    mysql字符串拼接的幾種實(shí)用方式小結(jié)

    在SQL語(yǔ)句中經(jīng)常需要進(jìn)行字符串拼接,下面這篇文章主要給大家介紹了關(guān)于mysql字符串拼接的幾種實(shí)用方式,文中通過(guò)圖文以及代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • mysql條件判斷函數(shù)的具體使用

    mysql條件判斷函數(shù)的具體使用

    本文主要介紹了mysql條件判斷函數(shù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評(píng)論