欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何利用MySQL添加聯(lián)合唯一索引

 更新時(shí)間:2022年04月20日 11:51:56   作者:直立行走的大瓶子  
索引在sql調(diào)優(yōu)部分占據(jù)著重要的位置,了解并深入索引對(duì)我們來(lái)說(shuō)也是非常重要的,下面這篇文章主要給大家介紹了關(guān)于如何利用MySQL添加聯(lián)合唯一索引的相關(guān)資料,需要的朋友可以參考下

聯(lián)合唯一索引

項(xiàng)目中需要用到聯(lián)合唯一索引:

例如:有以下需求:每個(gè)人每一天只有可能產(chǎn)生一條記錄:處了程序約定之外,數(shù)據(jù)庫(kù)本身也可以設(shè)定:

例如:t_aa 表中有aa,bb兩個(gè)字段,如果不希望有2條一模一樣的記錄(即:aa字段的值可以重復(fù); bb字段的值也可以重復(fù),但是一條記錄(aa,bb)組合值不允許重復(fù)),需要給 t_aa 表添加多個(gè)字段的聯(lián)合唯一索引:

alter table t_aa add unique index(aa,bb);

例如:

alter table use_info add unique index agd(user_account_id,game_id,daily_date);
alter table user_info add unique key agdkey(user_account_id,game_id,daily_date);

這樣如果向表中添加相同記錄的時(shí)候,會(huì)返回一下錯(cuò)誤信息。

但是配合Insert into…ON DUPLICATE KEY UPDATE…來(lái)使用就不會(huì)報(bào)錯(cuò),存在相同的記錄,直接忽略。

例:

 INSERT INTO unit (
    id,
    unitsubclass,
    name,
    state
)
VALUES('1111','CPU','CPU','0' ) ON DUPLICATE KEY UPDATE       unitsubclass=VALUES(unitsubclass),name =VALUES(name),state =VALUES(state)

還有一種情況就是,我們需要為以前的表 創(chuàng)建這個(gè)索引,有可能以前的數(shù)據(jù)中存在重復(fù)的記錄 那怎么辦呢?

alter ignore table t_aa add unique index(aa,bb);

它會(huì)刪除重復(fù)的記錄(會(huì)保留一條),然后建立唯一索引,高效而且人性化。

擴(kuò)展延伸:

查看索引 :

show index from 數(shù)據(jù)庫(kù)表名  

alter table 數(shù)據(jù)庫(kù)add index 索引名稱(數(shù)據(jù)庫(kù)字段名稱)PRIMARY KEY(主鍵索引):

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引);

ALTER TABLE table_name ADD UNIQUE (column) INDEX(普通索引):

ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

FULLTEXT(全文索引):

ALTER TABLE `table_name` ADD FULLTEXT ( `column` )

多列索引:

ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

附:mysql中如何用命令創(chuàng)建聯(lián)合索引

普通聯(lián)合索引

語(yǔ)法:

create index 索引名稱 on 表名(字段名稱)

示例:

create index firstIndex on student(id, name, address);

注意:

  • 索引名稱、表名、字段名稱 都不要用引號(hào)括起來(lái)
  • 對(duì)于聯(lián)合索引而言,字段名稱可以有多個(gè),中間用英文逗號(hào)分隔即可
  • 普通索引數(shù)據(jù)可以重復(fù)

結(jié)果:

唯一聯(lián)合索引

語(yǔ)法:

create unique index 索引名稱 on 表名(字段名稱)

示例:

create unique index secondIndex on student(id, name, address);

注意:

  • 索引名稱、表名、字段名稱 都不要用引號(hào)括起來(lái)
  • 對(duì)于聯(lián)合索引而言,字段名稱可以有多個(gè),中間用英文逗號(hào)分隔即可
  • 唯一索引數(shù)據(jù)不可重復(fù)

結(jié)果:

總結(jié)

到此這篇關(guān)于如何利用MySQL添加聯(lián)合唯一索引的文章就介紹到這了,更多相關(guān)MySQL添加聯(lián)合唯一索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql中Update未加索引導(dǎo)致的微服務(wù)模塊不可用

    mysql中Update未加索引導(dǎo)致的微服務(wù)模塊不可用

    本文主要介紹了mysql中Update未加索引導(dǎo)致的微服務(wù)模塊不可用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Mysql誤刪除DELETE數(shù)據(jù)找回操作指南

    Mysql誤刪除DELETE數(shù)據(jù)找回操作指南

    如果我們?cè)跀?shù)據(jù)庫(kù)中不小心執(zhí)行了類似"delete from t1"這樣的不帶where條件的語(yǔ)句,那么整張表的數(shù)據(jù)就全被刪除了,下面這篇文章主要給大家介紹了關(guān)于Mysql誤刪除DELETE數(shù)據(jù)找回操作的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • MySQL存儲(chǔ)過(guò)程中變量的定義以及應(yīng)用詳解

    MySQL存儲(chǔ)過(guò)程中變量的定義以及應(yīng)用詳解

    MySQL變量定義和應(yīng)用是我們經(jīng)常會(huì)遇到的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過(guò)程中變量的定義以及應(yīng)用的相關(guān)資料,文章通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 為什么MySQL分頁(yè)用limit會(huì)越來(lái)越慢

    為什么MySQL分頁(yè)用limit會(huì)越來(lái)越慢

    在mysql中l(wèi)imit可以實(shí)現(xiàn)快速分頁(yè),但是如果數(shù)據(jù)到了幾百萬(wàn)時(shí)我們的limit必須優(yōu)化才能有效的合理的實(shí)現(xiàn)分頁(yè)了,否則可能卡死你的服務(wù)器
    2021-07-07
  • MySQL聯(lián)表查詢基本操作之left-join常見的坑

    MySQL聯(lián)表查詢基本操作之left-join常見的坑

    這篇文章主要給大家介紹了關(guān)于MySQL聯(lián)表查詢基本操作之left-join的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 解決Mysql收縮事務(wù)日志和日志文件過(guò)大無(wú)法收縮問(wèn)題

    解決Mysql收縮事務(wù)日志和日志文件過(guò)大無(wú)法收縮問(wèn)題

    這篇文章主要介紹了解決Mysql收縮事務(wù)日志和日志文件過(guò)大無(wú)法收縮問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-08-08
  • MYSQL的REPLACE和ON DUPLICATE KEY UPDATE語(yǔ)句介紹解決問(wèn)題實(shí)例

    MYSQL的REPLACE和ON DUPLICATE KEY UPDATE語(yǔ)句介紹解決問(wèn)題實(shí)例

    這篇文章主要介紹了MYSQL的REPLACE和ON DUPLICATE KEY UPDATE語(yǔ)句介紹解決問(wèn)題實(shí)例,需要的朋友可以參考下
    2014-04-04
  • mysql 基本操作

    mysql 基本操作

    早打算寫些關(guān)于數(shù)據(jù)庫(kù)操作方面的知識(shí)了,現(xiàn)在終于完成了第一篇,以下記錄了關(guān)于mysql操作方面的基礎(chǔ)知識(shí)
    2012-08-08
  • 虛擬主機(jī)中phpMyAdmin的安裝配置方法

    虛擬主機(jī)中phpMyAdmin的安裝配置方法

    phpMyAdmin 是一套可以通過(guò)WEB來(lái)管理 MySQL-server 以及單一數(shù)據(jù)庫(kù)的 PHP 程序。對(duì)于一些虛擬空間的站點(diǎn)來(lái)說(shuō),應(yīng)該是不可缺少的吧!!!
    2010-06-06
  • MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用

    MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用

    這篇文章主要介紹了MySQL中LAG()函數(shù)和LEAD()函數(shù)的使用,包括窗口函數(shù)的基本用法,LAG()和LEAD()函數(shù)介紹,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08

最新評(píng)論