MySQLで次のエラーが発生するのはなぜですか:エラー1062(23000):重複エントリ?
列の値を一意のキーとして設定し、テーブルに重複する値を挿入しようとしたとします。これにより、エラー1062(23000):重複エントリが発生します。
まずテーブルを作成しましょう-
mysql> create table DemoTable776(FirstValue int、SecondValue int、unique key(FirstValue、SecondValue)); Query OK、0行が影響を受ける(0.74秒)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。重複する値を挿入すると、以下に示すように同じエラーが発生します-
mysql> DemoTable776に挿入values(10,20);クエリOK、影響を受ける1行(0.16秒)mysql> DemoTable776に挿入values(10,40);クエリOK、影響を受ける1行(0.15秒)mysql>挿入into DemoTable776 values(40,20);クエリOK、1行が影響を受ける(0.26秒)mysql> Insert into DemoTable776 values(10,20);エラー1062(23000):キー'FirstValue'<の重複エントリ'10-20' / pre>selectステートメントを使用してテーブルのすべてのレコードを表示します-
mysql> select * from DemoTable776;これにより、次の出力が生成されます-
+ ------------ + ------------- + | FirstValue | SecondValue | + ------------ + ------------- + | 10 | 20 || 10 | 40 || 40 | 20 | + ------------ + ------------- + 3行セット(0.00秒)
-
MySQLでタイプを比較してもエラーが発生しないのはなぜですか?
stringをintと比較しようとしても、MySQLはstringをintに変換するため、エラーは発生しません。まずテーブルを作成しましょう- mysql> create table DemoTable1852 ( Value1 varchar(20), Value2 int ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mys
-
MySQLエントリが存在するかどうかを確認し、存在する場合は、他の列を上書きする方法を教えてください。
これには、INSERT ON DUPLICATEKEYUPDATEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1891 ( FirstName varchar(20), UNIQUE KEY(FirstName) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTab