Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual tecla exclusiva é atingida com minha inserção?


Como Bobby sugeriu, SHOW indexes retorna um conjunto de resultados com índice de chave relevante, verifique esta página para mais exemplos:
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      |         |
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+

No entanto, isso provavelmente exigirá tanto código, se não mais, do que a seguinte solução alternativa.

Verifique qual valor inserido colide com uma linha existente na tabela:
SELECT code FROM myTable WHERE code = 'the_value_you_tried_to_insert';

ou
SELECT name FROM myTable WHERE name = 'the_value_you_tried_to_insert';

Embora não seja uma solução muito elegante.