Jak zasugerował Bobby, indeksy SHOW zwracają zestaw wyników z odpowiednim indeksem klucza, sprawdź tę stronę dalsze przykłady:
SHOW INDEXES FROM products_to_categories
WHERE Key_name = "PRIMARY"
AND Seq_in_index = '2';
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| products_to_categories | 0 | PRIMARY | 2 | category_id | A | 0 | NULL | NULL | | BTREE | |
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
Jednak prawdopodobnie będzie to wymagało tyle kodu, jeśli nie więcej, niż następujące obejście.
Sprawdź, która wstawiona wartość koliduje z istniejącym wierszem w tabeli:
SELECT code FROM myTable WHERE code = 'the_value_you_tried_to_insert';
lub
SELECT name FROM myTable WHERE name = 'the_value_you_tried_to_insert';
Chociaż nie jest to bardzo eleganckie rozwiązanie.