重複するエントリをMySQLテーブルに入力できないようにするにはどうすればよいですか?
MySQLテーブルに重複するエントリを入力できないようにするには、一意のキーを追加する必要があります。構文は次のとおりです-
alter ignore table yourTableName add constraint unique key(yourColumName);
上記の構文は、一意のキーを設定します。上記の構文を理解するために、テーブルを作成しましょう。
以下は、テーブルを作成するためのクエリです-
mysql> create table RemoveDuplicateEntry −> ( −> Id int, −> Name varchar(100) −> )ENGINE = MyISAM; Query OK, 0 rows affected (0.15 sec)
これで、最初に説明した構文を実装できます。クエリは次のとおりです-
mysql> alter table RemoveDuplicateEntry add constraint unique key(Id); Query OK, 0 rows affected (0.56 sec) Records: 0 Duplicates: 0 Warnings: 0
ここで、テーブルの構造を確認しましょう。クエリは次のとおりです-
mysql> desc RemoveDuplicateEntry;
以下は出力です-
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | UNI | NULL | | | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
次に、エントリが重複しているレコードをいくつか挿入します。上記のUNIQUEを使用したため、これは挿入されません-
レコードを挿入するためのクエリは次のとおりです-
mysql> insert into RemoveDuplicateEntry values(101,'John'); Query OK, 1 row affected (0.06 sec)
ここで、同じレコードを再度挿入すると、次のエラーが表示されます-
mysql> insert into RemoveDuplicateEntry values(101,'John'); ERROR 1062 (23000): Duplicate entry '101' for key 'Id'
selectステートメントを使用してテーブルのすべてのレコードを確認します。クエリは次のとおりです-
mysql> select *from RemoveDuplicateEntry;
以下は、重複エントリのないレコードを表示する出力です-
+------+------+ | Id | Name | +------+------+ | 101 | John | +------+------+ 1 row in set (0.00 sec)
-
MySQLテーブルをバッチ更新する方法は?
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> BreakfastTime time -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('7:30:45'); Query OK, 1 row affected (0.19 sec) my
-
MySQLにテーブルが存在するかどうかを検出するにはどうすればよいですか?
テーブルの存在を検出するには、INFORMATION_SCHEMA.TABLESの概念を使用します。構文は次のとおりです- select table_name from information_schema.tables where table_schema=database() and table_name=yourTableName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2032 -> ( -> ClientId int, &n