mysql 唯一索引 二叉法_mysql 唯一索引
1.一個列的唯一索引
mysql> create database pay;
Query OK, 1 row affected (0.03 sec)
mysql> use pay;
Database changed
mysql> show tables;
Empty set (0.00 sec)
CREATE TABLE `t1` (
`a1` int,
`a2` int,
`a3` int,
`a4` int,
UNIQUE KEY `t1_log` (`a1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> show index from t1\G;
*************************** 1. row ***************************
Table: t1
Non_unique: 0
Key_name: t1_log
Seq_in_index: 1
Column_name: a1
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
1 row in set (0.00 sec)
ERROR:
No query specified
mysql> insert into t1 values(1,2,3,4);
Query OK, 1 row affected (0.05 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t1 values(1,2,3,4);
ERROR 1062 (23000): Duplicate entry '1' for key 't1_log'
2.2個列的唯一索引 ,a1和a2列不能相同
CREATE TABLE `t2` (
`a1` int,
`a2` int,
`a3` int,
`a4` int,
UNIQUE KEY `t2_log` (`a1`,`a2`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> insert into t2 values(1,2,3,4);
Query OK, 1 row affected (0.01 sec)
mysql> insert into t2 values(1,2,7,8);
ERROR 1062 (23000): Duplicate entry '1-2' for key 't2_log'
3.3個列的唯一索引,3個列不能重復
CREATE TABLE `t3` (
`a1` int,
`a2` int,
`a3` int,
`a4` int,
UNIQUE KEY `t3_log` (`a1`,`a2`,`a3`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> insert into t3 values(1,2,3,4);
Query OK, 1 row affected (0.04 sec)
mysql> insert into t3 values(1,2,7,8);
Query OK, 1 row affected (0.00 sec)
總結
以上是生活随笔為你收集整理的mysql 唯一索引 二叉法_mysql 唯一索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux命令之tab 键补全
- 下一篇: mysql中的编码问题_mysql存储乱