sql >> データベース >  >> RDS >> Mysql

インサートでヒットする一意のキーはどれですか?

    ボビーが示唆しているように、SHOWインデックスは、関連するキーインデックスを含む結果セットを返します。このページを確認してください。 その他の例:

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

    ただし、次の回避策を超えない場合は、おそらく同じくらいのコードが必要になります。

    挿入した値がテーブルの既存の行と衝突することを確認してください:

    SELECT code FROM myTable WHERE code = 'the_value_you_tried_to_insert';
    

    または

    SELECT name FROM myTable WHERE name = 'the_value_you_tried_to_insert';
    

    あまりエレガントなソリューションではありませんが。




    1. ORIGINAL_DB_NAME()がSQLServerでどのように機能するか

    2. SQLServerマスターデータベースの復元

    3. RStudioをSQLServerに接続する

    4. 大文字と小文字を区別するRLIKE