一、為什么mysql中刪除某一列的主鍵索引后另一列會(huì)從少數(shù)索引變成主鍵索引
mysql中刪除某一列的主鍵索引后另一列會(huì)從少數(shù)索引變成主鍵索引,一般情況下是做不到的,而且重新排序后會(huì)出現(xiàn)數(shù)據(jù)錯(cuò)亂的情況,比如別的表依賴這個(gè)表id的時(shí)候。如果不想讓id不連續(xù),可以做軟刪除。設(shè)置一個(gè)刪除標(biāo)記字段,標(biāo)記一下即可。
主鍵(primary key) 能夠少數(shù)標(biāo)識(shí)表中某一行的屬性或?qū)傩越M。一個(gè)表只能有一個(gè)主鍵,但可以有多個(gè)候選索引。主鍵常常與外鍵構(gòu)成參照完整性約束,防止出現(xiàn)數(shù)據(jù)不一致。主鍵可以保證記錄的少數(shù)和主鍵域非空,數(shù)據(jù)庫管理系統(tǒng)對(duì)于主鍵自動(dòng)生成少數(shù)索引,所以主鍵也是一個(gè)特殊的索引。
外鍵(foreign key) 是用于建立和加強(qiáng)兩個(gè)表數(shù)據(jù)之間的鏈接的一列或多列。外鍵約束主要用來維護(hù)兩個(gè)表之間數(shù)據(jù)的一致性。簡(jiǎn)言之,表的外鍵就是另一表的主鍵,外鍵將兩表聯(lián)系起來。一般情況下,要?jiǎng)h除一張表中的主鍵必須首先要確保其它表中的沒有相同外鍵(即該表中的主鍵沒有一個(gè)外鍵和它相關(guān)聯(lián))。
延伸閱讀:
二、數(shù)據(jù)庫和 SQL 概念
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫,它的產(chǎn)生距今已有六十多年。隨著信息技術(shù)和市場(chǎng)的發(fā)展,數(shù)據(jù)庫變得無處不在:它在電子商務(wù)、銀行系統(tǒng)等眾多領(lǐng)域都被廣泛使用,且成為其系統(tǒng)的重要組成部分。
數(shù)據(jù)庫用于記錄數(shù)據(jù),使用數(shù)據(jù)庫記錄數(shù)據(jù)可以表現(xiàn)出各種數(shù)據(jù)間的聯(lián)系,也可以很方便地對(duì)所記錄的數(shù)據(jù)進(jìn)行增、刪、改、查等操作。
結(jié)構(gòu)化查詢語言(Structured Query Language)簡(jiǎn)稱 SQL,是上世紀(jì) 70 年代由 IBM 公司開發(fā),用于對(duì)數(shù)據(jù)庫進(jìn)行操作的語言。更詳細(xì)地說,SQL 是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng),同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。