teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2022/07/31 03:11

投稿

退会済みユーザー
answer CHANGED
@@ -9,4 +9,17 @@
9
9
  主キーを AUTO_INCREMENT にするのが現実的な解決策だと思います。
10
10
 
11
11
  3.6.9 AUTO_INCREMENT の使用
12
- https://dev.mysql.com/doc/refman/8.0/ja/example-auto-increment.html
12
+ https://dev.mysql.com/doc/refman/8.0/ja/example-auto-increment.html
13
+
14
+ ---
15
+
16
+ 【追記】
17
+
18
+ 管理者用の phpMyAdmin ではなくて、一般ユーザーが質問者さんの開発する Web アプリで MySQL を利用する時の話で、かつ、主キーを AUTO_INCREMENT にはできないという話であれば、Web アプリで対応する話になると思います。
19
+
20
+ 例えば、ASP.NET MVC アプリですと以下の記事のように、 PK 制約違反例外をキャッチしてエラーメッセージを表示し、ユーザーに再入力を促すということができます。
21
+
22
+ EF Core で PK / Unique 制約違反例外をキャッチ
23
+ http://surferonwww.info/BlogEngine/post/2021/03/25/aspnet-core-validation-for-pk-and-unique-restrictions-of-sql-server.aspx
24
+
25
+ 質問者さんの Web アプリが何だか分かりませんが (PHP ?)、同様なことができないか検討されてはいかがですか?