久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql如何快速獲得庫中無主鍵的表

157次閱讀
沒有評論

共計 1432 個字符,預計需要花費 4 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章將為大家詳細講解有關 mysql 如何快速獲得庫中無主鍵的表,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、查看表主鍵信息

-- 查看表主鍵信息  
SELECT
 t.TABLE_NAME,
 t.CONSTRAINT_TYPE,
 c.COLUMN_NAME,
 c.ORDINAL_POSITION 
 INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,
 INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c 
WHERE
 t.TABLE_NAME = c.TABLE_NAME 
 AND t.CONSTRAINT_TYPE =  PRIMARY KEY  
 AND t.TABLE_NAME =  TABLE_NAME  
 AND t.TABLE_SCHEMA =  TABLE_SCHEMA

mysql 如何快速獲得庫中無主鍵的表

2、查看無主鍵表

-- 查看無主鍵表
SELECT table_schema, table_name,TABLE_ROWS
FROM information_schema.tables
WHERE (table_schema, table_name) NOT IN (
SELECT DISTINCT table_schema, table_name
FROM information_schema.columns
WHERE COLUMN_KEY =  PRI 
AND table_schema NOT IN (sys ,  mysql ,  information_schema ,  performance_schema

mysql 如何快速獲得庫中無主鍵的表

3、無主鍵表

在 Innodb 存儲引擎中,每張表都會有主鍵,數(shù)據(jù)按照主鍵順序組織存放,該類表成為索引組織表 Index Ogranized Table

如果表定義時沒有顯示定義主鍵,則會按照以下方式選擇或創(chuàng)建主鍵:

1) 先判斷表中是否有 非空的唯一索引,如果有

如果僅有一條 非空唯一索引,則該索引為主鍵

如果有多條 非空唯一索引,根據(jù)索引索引的先后順序,選擇第一個定義的非空唯一索引為主鍵。

2) 如果表中無 非空唯一索引,則自動創(chuàng)建一個 6 字節(jié)大小的指針作為主鍵。

如果主鍵索引只有一個索引鍵,那么可以使用_rowid 來顯示主鍵,實驗測試如下:

-- 刪除測試表
DROP TABLE IF EXISTS t1;
-- 創(chuàng)建測試表
CREATE TABLE `t1` ( `id` int(11) NOT NULL,
 `c1` int(11) DEFAULT NULL,
 UNIQUE uni_id (id),
 INDEX idx_c1(c1)
) ENGINE = InnoDB CHARSET = utf8;
-- 插入測試數(shù)據(jù)
INSERT INTO t1 (id, c1) SELECT 1, 1;
INSERT INTO t1 (id, c1) SELECT 2, 2;
INSERT INTO t1 (id, c1) SELECT 4, 4;
-- 查看數(shù)據(jù)和_rowid
SELECT *, _rowid FROM t1;

mysql 如何快速獲得庫中無主鍵的表

可以發(fā)現(xiàn),上面的_rowid 與 id 的值相同,因為 id 列是表中第一個唯一且 NOT NULL 的索引。

關于“mysql 如何快速獲得庫中無主鍵的表”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向 AI 問一下細節(jié)

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-12-04發(fā)表,共計1432字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 铁力市| 东兰县| 双柏县| 玉田县| 山丹县| 庆安县| 昂仁县| 普安县| 茂名市| 漳浦县| 福建省| 教育| 阆中市| 正蓝旗| 永宁县| 安西县| 喀喇| 综艺| 麻栗坡县| 新和县| 永城市| 丁青县| 桓台县| 南投市| 焉耆| 吴忠市| 泊头市| 渝北区| 德令哈市| 英吉沙县| 阿瓦提县| 台湾省| 永胜县| 东源县| 云梦县| 洛川县| 大庆市| 济源市| 福建省| 隆安县| 远安县|