ホームページ > データベース > mysql チュートリアル > Oracle の RowID に代わる MySQL は何ですか?

Oracle の RowID に代わる MySQL は何ですか?

Linda Hamilton
リリース: 2024-12-05 00:34:11
オリジナル
895 人が閲覧しました

What are the MySQL Alternatives to Oracle's RowID?

Oracle の RowID に相当する MySQL

MySQL には、Oracle の RowID に直接相当するものはありません。ただし、同様の機能を実現する方法はいくつかあります。

1 つの方法は、セッション変数とサブクエリを使用することです。

SELECT @rowid:=@rowid+1 as rowid
FROM table1, (SELECT @rowid:=0) as init
ORDER BY sorter_field
ログイン後にコピー

これにより、各行に一意の識別子が割り当てられ、使用できるようになります。

重複レコードを削除する別の方法は、一時テーブルを作成し、一時テーブルと元のテーブルの間で結合を実行することです。 table:

CREATE TEMPORARY TABLE duplicates ...

INSERT INTO duplicates (rowid, field1, field2, some_row_uid)
SELECT
  @rowid:=IF(@f1=field1 AND @f2=field2, @rowid+1, 0) as rowid,
  @f1:=field1 as field1,
  @f2:=field2 as field2,
  some_row_uid
FROM testruns t, (SELECT @rowid:=NULL, @f1:=NULL, @f2:=NULL) as init
ORDER BY field1, field2 DESC;

DELETE FROM my_table USING my_table JOIN duplicates
  ON my_table.some_row_uid = duplicates.some_row_uid AND duplicates.rowid > 0
ログイン後にコピー

この方法は、サブクエリで削除されるテーブルでソートを実行できない場合に推奨されます。

以上がOracle の RowID に代わる MySQL は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート