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

MySQL:MySQLテーブルのすべてのレコードの内部レコード識別子のようなものはありますか?

    AFAIKそのような一意の内部識別子(たとえば、単純な行ID)は存在しません。

    あなたはかもしれません たぶん SELECTを実行できる 並べ替えなしで、LIMITを使用してn番目の行を取得します 。信頼性が高く安全に使用できる条件の下で、mySQLの達人は確認する必要があります。おそらく決してそうではありません。

    phpMyAdminで遊んでみてください 、mySQLへのWebフロントエンド。これは、キーのない不適切に設計されたテーブルを処理するように設計されています。私の記憶が正しければ、すべてを使用します このような場合に取得できる列:

    UPDATE xyz set a = b WHERE 'fieldname'  = 'value' 
                           AND 'fieldname2' = 'value2' 
                           AND 'fieldname3' = 'value3' 
                           LIMIT 0,1;
    

    等々。

    もちろん、それは完全に複製安全というわけではありません。

    私の頭に浮かぶ唯一のアイデアは、実行時にキー列を追加し、アプリの完了時にそれを削除することです。これはグースバンプを誘発するアイデアですが、何もないよりはましかもしれません。



    1. Oracle BLOBフィールドからファイルを抽出するにはどうすればよいですか?

    2. ストアドプロシージャのMySQLPREPAREステートメント

    3. MySQLで予約語をテーブル名または列名として使用したために構文エラーが発生しました

    4. AzureMulti-FactorAuthenticationでAccessを使用するための7ステップガイド