MySQL中你知道幾種防止資料重複的方法

2022-07-10 04:30:16 字數 1267 閱讀 5692

很多時候在日常的專案中,有些資料是不允許重複的,例如使用者資訊中的登陸名,一旦存在同乙個登陸名,必然不知道到底是哪個使用者執行登陸操作,導致系統異常。

常常在防止資料重複的情況下,我們都採用唯一索引去解決,如下

當我們執行同樣的name的資料時則會報如下錯誤

除了這個方法,你還知道其他的嗎?

下面我們介紹另外幾種方法

insert ignore into

插入資料時,如果資料存在,則忽略此次插入

插入資料時,如果資料存在,則刪除再插入

replace into login(`name`,`password`) values("ganhuojun","password")

執行後發現,2行生效,其中一行刪除,1行新增

sql的語法為insert into … select … where not exist ...,該語句先判斷mysql資料庫中是否存在這條資料,如果不存在,則正常插入,如果存在,則忽略

插入資料時,如果資料存在,則執行更新操作

MySQL複製表方法,你知道幾種?

在本教程中,您將學習如何使用create table和select語句在同一資料庫中或從乙個表複製到同乙個資料庫中另乙個表,這種方法可以用來備份資料庫中的表。將資料從現有表複製到新錶是非常有用的,在某些情況下,例如 備份資料和複製生產資料用於開發和測試。要將資料從表複製到新錶,請使用create t...

你知道幾種程式設計思想?

1 pop 面向過程程式設計 process oriented programming 面向過程程式設計是以功能為中心來進行思考和組織的一種程式設計方法,它強調的是系統的資料被加工和處理的過程,在程式設計中主要以函式或者過程為程式的基本組織方式,系統功能是由一組相關的過程和函式序列構成。面向過程強調...

你知道幾種程式設計思想?

1 pop 面向過程程式設計 process oriented programming 面向過程程式設計是以功能為中心來進行思考和組織的一種程式設計方法,它強調的是系統的資料被加工和處理的過程,在程式設計中主要以函式或者過程為程式的基本組織方式,系統功能是由一組相關的過程和函式序列構成。面向過程強調...