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

MySQLで既存のフィールドを一意にしますか?


MySQLで一意とは、重複するレコードを追加できないことを意味します。次に、テーブルの作成時に列に一意性制約を作成する方法を見てみましょう。

mysql> create table UniqueConstDemo
- > (
- > name varchar(100) unique
- > );
Query OK, 0 rows affected (0.72 sec)

現在、列「name」に同じ値を複数回設定することはできません。

エラーを確認するために、値が重複しているレコードをいくつか挿入します。

mysql> insert into UniqueConstDemo values('John');
Query OK, 1 row affected (0.19 sec)

mysql> insert into UniqueConstDemo values('John');

上記のクエリを実行すると、次のエラーが表示されます。

mysql> insert into UniqueConstDemo values('John');
ERROR 1062 (23000): Duplicate entry 'John' for key 'name'

異なる値を挿入してもエラーは発生しません。

mysql> insert into UniqueConstDemo values('Bob');
Query OK, 1 row affected (0.11 sec)

それでは、SELECTステートメントを使用してすべてのレコードを表示しましょう。

mysql> select *from UniqueConstDemo;

以下は出力です。

+-------+
| name  |
+-------+
| Bob   |
| John  |
+-------+
3 rows in set (0.00 sec)

  1. MySQLのフィールドの最後の3文字を破棄します

    まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId varchar(100)    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('STU-090'); Query OK, 1 row affected (0.16 sec)

  2. MySQL:Group Byでフィールドを更新しますか?

    GROUP BYでフィールドを更新するには、UPDATEコマンドでORDERBYLIMITを使用します- mysql> create table DemoTable2018    -> (    -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> EmployeeName varchar(20),    -> EmployeeSalary int    -> ); Query OK, 0 r