sql >> Database teknologi >  >> RDS >> Mysql

Hvilken unik nøgle rammes med mit skær?

Som Bobby har foreslået, returnerer SHOW-indekser et resultatsæt med relevant nøgleindeks. Tjek denne side for yderligere eksempler:

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      |         |
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+

Dette vil dog sandsynligvis kræve lige så meget kode, hvis ikke mere end den følgende løsning.

Tjek hvilken værdi du har indsat, der kolliderer med en eksisterende række i tabellen:

SELECT code FROM myTable WHERE code = 'the_value_you_tried_to_insert';

eller

SELECT name FROM myTable WHERE name = 'the_value_you_tried_to_insert';

Omend ikke en særlig elegant løsning.




  1. MySQL samlet efter måned med løbende total

  2. SQL-injektionsforebyggelse

  3. Sådan bruges BETWEEN-operatøren i SQL Server

  4. Bedste metode til at gemme en liste over bruger-id'er