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

MySQLテーブルに重複レコードを挿入しているときにエラーを表示する


このために、UNIQUEKEYを使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable1553
   -> (
   -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> EmployeeName varchar(20),
   -> EmployeeSalary int
   -> );
Query OK, 0 rows affected (0.47 sec)
>

これが一意キーを追加するためのクエリです-

mysql> alter table DemoTable1553 add unique(EmployeeSalary);
Query OK, 0 rows affected (0.53 sec)
Records: 0  Duplicates: 0  Warnings: 0

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1553(EmployeeName,EmployeeSalary) values('Chris',45000);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1553(EmployeeName,EmployeeSalary) values('David',35000);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1553(EmployeeName,EmployeeSalary) values('Sam',25000);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1553(EmployeeName,EmployeeSalary) values('Carol',45000);
ERROR 1062 (23000): Duplicate entry '45000' for key 'EmployeeSalary'

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select * from DemoTable1553;

これにより、次の出力が生成されます-

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
|          1 | Chris        |          45000 |
|          2 | David        |          35000 |
|          3 | Sam          |          25000 |
+------------+--------------+----------------+
3 rows in set (0.00 sec)

  1. MySQLテーブル内のすべての重複レコードを削除するにはどうすればよいですか?

    テーブルから重複レコードを削除するには、DELETEコマンドを使用できます。テーブルを作成しましょう。 mysql> create table DuplicateDeleteDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.60 sec) テーブル「DuplicateDeleteDemo」へのレコードの挿入:ここでは、「John」を複製レコードとして3回追加しました。 mysql> insert into Duplicate

  2. JavaのPreparedStatementを使用してMySQLテーブルにレコードを挿入しますか?

    JavaでPreparedStatementを使用してテーブルにレコードを挿入するには、以下の構文を使用してレコードを挿入する必要があります。構文は次のとおりです- String anyVariableName= "INSERT INTO yourTableName(yourColumnName1, yourColumnName2, yourColumnName3,.........N)" + "VALUES (?, ?, ?,..............N)"; 次に、PreparedStatementオブジェクトを使用して、すべての列の値を設定しま