MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

複数列のUNIQUEインデックスを作成するにはどうすればよいですか?


複数列のUNIQUEインデックスを作成するには、複数の列にインデックス名を指定する必要があります。次の例では、「employee」テーブルの「empid」、「first_name」、「last_name」の列に「id_fname_lname」という名前の複数列のインデックスを作成します-

mysql> Create UNIQUE INDEX id_fname_lname on employee(empid,first_name,last_name);
Query OK, 0 rows affected (0.41 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> describe employee;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| empid | int(11) | YES | MUL | NULL | |
| first_name | varchar(20) | YES | | NULL | |
| last_name | varchar(20) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
3 rows in set (0.12 sec)

上記のクエリの結果セットから、テーブルに複数のインデックスが定義されていることがわかります。インデックスの詳細を忘れて、次のクエリを実行できます-

mysql> Show index from employee\G
*************************** 1. row ***************************
Table: employee
Non_unique: 0
Key_name: id_fname_lname
Seq_in_index: 1
Column_name: empid
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
*************************** 2. row ***************************
Table: employee
Non_unique: 0
Key_name: id_fname_lname
Seq_in_index: 2
Column_name: first_name
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
*************************** 3. row ***************************
Table: employee
Non_unique: 0
Key_name: id_fname_lname
Seq_in_index: 3
Column_name: last_name
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null: YES
Index_type: BTREE
Comment:
Index_comment:
3 rows in set (0.00 sec)

上記の結果セットから、テーブルのすべての列に複数列のインデックスを作成したため、「key_name」ファイルの値が同じであることがわかります。


  1. 非リテラルのPythonタプルを作成するにはどうすればよいですか?

    最初にリストを作成し、次に変更する単一の値を変更し、最後に、リテラル以外のPythonタプルを作成する場合は、それをタプルに変換できます。たとえば、 def create_non_literal_tuple(a, b, c):    x = [1] * a    x[c] = b    return tuple(x) create_non_literal_tuple(6, 0, 2) これにより、出力が得られます: (1, 1, 0, 1, 1, 1) 長さ6の配列の位置2の0。

  2. Pythonでシングルトンクラスを作成するにはどうすればよいですか?

    シングルトンパターンは、クラスのインスタンスの数を1つに制限するための戦略を提供します。したがって、同じオブジェクトは常にコードの異なる部分で共有されます。シングルトンは、実際のデータがシングルトンクラスインターフェイスの背後に隠されているため、グローバル変数に対するより洗練されたソリューションと見なすことができます。 次のコードは、シングルトンクラスを作成できるさまざまな方法の1つです class Singleton(object):     _instance = None     def __new__(class_, *args, **kwarg