1. 程式人生 > >Mysql,新增複合唯一索引

Mysql,新增複合唯一索引

CREATE TABLE `t_user` (
  `id` varchar(11) NOT NULL,
  `username` varchar(40) NOT NULL,
  `password` varchar(40) NOT NULL,
  `sex` varchar(4) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

alter  table  t_user add unique index save_unique_index(username,password); -- 新增多欄位唯一索引

CREATE TABLE `t_user` ( 
  `id` varchar(11) NOT NULL,
  `username` varchar(40) NOT NULL,
  `password` varchar(40) NOT NULL,
  `sex` varchar(4) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `save_unique_index` (`username`,`password`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1	Tom	123	男
2	Tom	1234	男
3	Jerry	234	女

insert into t_user(id,username,password,sex) values('4','Tom','123','男'); --  Duplicate entry 'Tom-123' for key 'save_unique_index'

insert into t_user(id,username,password,sex) values('4','Tom','12345','男'); -- 受影響的行: 1

1	Tom	123	男
2	Tom	1234	男
3	Jerry	234	女
4	Tom	12345	男



相關推薦

Mysql,新增複合唯一索引

CREATE TABLE `t_user` ( `id` varchar(11) NOT NULL, `username` varchar(40) NOT NULL, `password

mysql去除多列組合重複(並新增組合唯一索引

緣起 由於起初mysql資料表設計考慮不周,導致後續表裡出現重複資料,這裡點重複是指多個列組合起來資料一樣。現期望多個列組合資料表示點記錄在資料表裡唯一,結局辦法就是加多列組合唯一索引。 本文以col1, col2和col3三列組合為唯一索引。資料表名

MySQL新增聯合唯一索引

一、聯合唯一索引 專案中需要用到聯合唯一索引: 例如:有以下需求:每個人每一天只有可能產生一條記錄:處了程式約定之外,資料庫本身也可以設定: 例如:t_aa 表中有aa,bb兩個欄位,如果不希望有2條一模一樣的記錄(即:aa欄位的值可以重複; bb欄位的值

mysql新增聯合唯一索引

在開發過程中遇到了聯合索引的問題,現在總結一下: 開發具體環境是這樣的:我們有一個行業表,表中包含省份和城市兩個欄位。因此需要針對這兩個欄位建立聯合索引。 表名稱為:sc_blacklistcity 兩個欄位分別為:province  city 執行語句: alter ta

MySQL中出現唯一索引衝突,使用ON DUPLICATE KEY UPDATE

        在MySQL資料庫中,如果在insert語句後面帶上ON DUPLICATE KEY UPDATE 子句,而要插入的行與表中現有記錄的惟一索引或主鍵中產生重複值,那麼就會發生舊行的更新;如果插入的行資料與現有表中記錄的唯一索引或者主鍵不重複

mysql 唯一索引新增刪除

文章來自:原始碼線上https://www.shengli.me/php/299.html                     &nb

Mysql新增和刪除唯一索引、主鍵

1、PRIMARY KEY(主鍵索引) 新增 ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ); 刪除 ALTER TABLE `table_name` DROP PRIMARY KEY; 2、UNIQUE(唯一索

mysql 延遲新增唯一索引

MySQL [test]> create table tbl_keyword ( -> id int not null auto_increment primary key, -> keyword varchar(256) not null ->

MySql 給表新增一個聯合唯一索引

做專案需要用到聯合唯一 例如,user表中有user_id,user_name兩個欄位,如果不希望有兩條一摸一樣的的user_id和user_name,需要給user表新增兩個欄位的聯合唯一索引:alter table user add unique index(use

mysql 建立 主鍵索引 唯一索引 全文索引 多列索引 新增索引

檢視索引  show index from 資料庫表名 alter table 資料庫add index 索引名稱(資料庫欄位名稱) PRIMARY KEY(主鍵索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索

mysql唯一索引問題

情況 提示 mysq image ima 今天 sql name inf 今天去面試的時候,面試官有問了一個MYSQL唯一索引的問題,假設有個唯一索引 user_uni(name,age),刪除了列age,會出現什麽情況? 面試的時候他說列可以刪除掉,但查詢的時候會有問題

MySQL-5-唯一索引-外鍵的變種

唯一索引 去重 spa loading 分享圖片 圖片 SQ 博客 image 唯一索引 唯一索引 聯合唯一索引 外鍵的變種 博客園 FK不能去重,一個用戶只有一個博客園 MySQL-5-唯一索引-外鍵的變種

MySQL給字段唯一索引的三種方法

const color varchar clas 約束 weight mysql ODB arch 建表時添加 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `stu_id` int(11)

mysql 預設分頁查詢,主鍵索引,和聯合唯一索引的坑

最近遇到一個比較坑的問題,列表分頁查詢的時候,查詢全部沒問題,根據條件查詢就會出現亂序,多頁之間有重複資料的問題。   因為用的通用mapper元件,於是打出來sql看了下,發現分頁查詢sql沒有order  by,結果查詢出來的順序是亂的,因為查詢條件之一是聯合唯一

mysql索引、主鍵、唯一索引、聯合索引的區別(索引的建立原則和注意事項)

索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索

mysql新增索引命令 並驗證效能提升

資料庫型別 mysql(阿里雲) 操作表名稱:ZbUser  16個屬性  資料總量 :290629   建立指令碼 1.PRIMARY  KEY(主鍵索引) mysql> ALTER &nb

MySQL索引操作:建立、新增和刪除索引

如果對索引的作用不太瞭解的建議先閱讀上一篇博文:MySQL索引的作用和分類介紹 建立索引 建立表的時候建立索引 格式: CREATE TABLE 表名[欄位名 欄位型別] [UNIQUE|FULLTEXT|SPATIAL|...] [INDEX|K

MySQL新增索引

-- 1.新增PRIMARY KEY(主鍵索引) ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) ; -- 2.新增UNIQUE(唯一索引) ALTER TABLE `table_na

mysql新增、檢視、刪除唯一鍵約束

新增唯一約束:ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表); 如:ALTER TABLE sp_goodinfo ADD UNIQUE upgoodinfo20181208 (goodurl); 查看錶約束 desc sp_shopinf

mybatis 批量插入mysql資料並根據唯一索引做自動去重判斷的插入語句

宣告: 此處為mybatis 操作mysql資料庫實現批量插入。再根據表的唯一索引來判斷資料是否重複,如果重複則更新,如果不重複則新增的xml寫法 注意: 首先在表中建立可以確認資料唯一性的唯一索引: 例如:UNIQUE KEY `unionIndex` (`keyword_id`,