日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

實際上,在ENUM列規范中列出的元素被分配了從1開始的索引號。這里的術語“索引”指的是在枚舉值列表中的位置,它們與表索引無關。通過以下示例,我們可以展示每個MySQL枚舉都有一個索引值-

通過插入索引號而不是枚舉值

我們可以通過插入它們的索引號而不是寫入值來在ENUM列中插入值。例如,在下面的表中,我們有兩個ENUM值’pass’和’fail’。由于’pass’在枚舉列表中首先被寫入,因此得到索引號’1’,’fail’的索引號為’2’。現在,我們也可以通過插入索引號來插入值,如下所示-

mysql> Insert into marks(id,name,result)values(103,'Daksh','1');
Query OK, 1 row affected (0.06 sec)

mysql> Insert into marks(id,name,result)values(104,'Shayra','2');
Query OK, 1 row affected (0.07 sec)

mysql> Select * from marks;
+-----+---------+--------+
| id  | Name    | Result |
+-----+---------+--------+
| 101 | Aarav   | Pass   |
| 102 | Yashraj | Fail   |
| 103 | Daksh   | Pass   |
| 104 | Shayra  | Fail   |
+-----+---------+--------+
4 rows in set (0.00 sec)

登錄后復制

在上述查詢中,我們使用索引號1和2分別表示枚舉值pass和fail。

通過插入空字符串而不是枚舉值

空字符串的索引值為0。在插入空字符串之前,SQL模式不能是TRADITIONAL、STRICT_TRANS_TABLES或STRICT_ALL_TABLES。通過以下示例,我們可以理解它 −

mysql> SET SESSION sql_mode = '';
Query OK, 0 rows affected (0.00 sec)

mysql> Insert into marks(id, name, result) values(105,'Yashraj','');
Query OK, 1 row affected, 1 warning (0.06 sec)

登錄后復制

上面的查詢將在枚舉值的位置插入空字符串。 MySQL 插入空字符串并出現以下警告。

mysql> Show warnings;
+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1265 | Data truncated for column 'Result' at row 1 |
+---------+------+---------------------------------------------+
1 row in set (0.00 sec)

登錄后復制

現在當我們檢查表格時,可以看到在ENUM字段中有一個空字符串。

mysql> Select * from marks;
+-----+---------+--------+
| id  | Name    | Result |
+-----+---------+--------+
| 101 | Aarav   | Pass   |
| 102 | Yashraj | Fail   |
| 103 | Daksh   | Pass   |
| 104 | Shayra  | Fail   |
| 105 | Yash    |        |
+-----+---------+--------+
5 rows in set (0.00 sec)

mysql> Select result+0 As result_index from marks;
+--------------+
| result_index |
+--------------+
| 1            |
| 2            |
| 1            |
| 2            |
| 0            |
+--------------+
5 rows in set (0.01 sec)
From the output of above query, it is clear that the index value of the empty string is 0.

登錄后復制

通過插入 NULL 而不是枚舉值

我們可以在枚舉值的位置插入 NULL,因為我們不為 ENUM 列指定 NOT NULL。 NULL的索引值為NULL。例如,借助以下查詢,我們在表“result”的枚舉列中插入NULL,并可以檢查其索引值。

mysql> Create table result(Id INT PRIMARY KEY NOT NULL, Name Varchar(10), GradeENUM('POOR','GOOD'));
Query OK, 0 rows affected (0.25 sec)

mysql> Insert into result(id, name, grade) values(100, 'Rahul', NULL);
Query OK, 1 row affected (0.06 sec)

登錄后復制

上面的查詢在枚舉值的位置插入了 NULL 值,可以使用下面的幫助查詢來檢查 –

mysql> Select * from result;
+-----+-------+-------+
| Id  | Name  | Grade |
+-----+-------+-------+
| 100 | Rahul | NULL  |
+-----+-------+-------+
1 row in set (0.00 sec)

登錄后復制

現在,借助下一個查詢,我們可以觀察到NULL的索引值為NULL。

mysql> Select Grade+0 As Grade_index from result;
+-------------+
| Grade_index |
+-------------+
| NULL        |
+-------------+
1 row in set (0.00 sec)

登錄后復制

以上就是如何顯示每個MySQL枚舉都有一個索引值?的詳細內容,更多請關注www.92cms.cn其它相關文章!

分享到:
標簽:MySQL 顯示 枚舉 索引 都有
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定