sql >> Databasteknik >  >> RDS >> Mysql

Vilken unik nyckel träffas med mitt skär?

Som Bobby har föreslagit, returnerar SHOW-index en resultatuppsättning med relevant nyckelindex, kolla denna sida för ytterligare exempel:

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

Men detta kommer förmodligen att kräva lika mycket kod om inte mer än följande lösning.

Kontrollera vilket värde du infogade som kolliderar med en befintlig rad 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';

Om än inte en särskilt elegant lösning.




  1. Hur man castar DateTime till Time

  2. Skriv ut den faktiska frågan som MySQLdb körs?

  3. PHP PDO:hur påverkar prestanda prestandan om du förbereder ett uttalande

  4. Hur matar man ut resultatet av SELECT-satsen som exekveras med inbyggd dynamisk SQL?