mysqlはストアドプロシージャを使用してツリーノード取得メソッドを実装します。

mysqlはストアドプロシージャを使用してツリーノード取得メソッドを実装します。

図に示すように:

テーブルデータ

このようなツリーの場合、「Gao Yinrui」の下のすべてのノードを取得する方法(1つのSQL文では明らかに不十分です)

ストアドプロシージャ経由で書き込み

区切り文字 //
関数 `getChildLst`(rootId INT) を作成します。
 
varchar(1000) を返す SQL データを読み込む
 
始める
 sTemp VARCHAR(1000) を宣言します。
 
 sTempChd VARCHAR(1000) を宣言します。
 
 sTemp = '$' を設定します。
 
 SET sTempChd =cast(rootId を CHAR として)。
 
 sTempChdがnullではない場合
 
 SET sTemp = concat(sTemp,',',sTempChd);
 
 SELECT group_concat(id) INTO sTempChd FROM document_file_name where FIND_IN_SET(pId,sTempChd)>0;
 
 終了しながら;
 
 sTemp を返します。
 
終わり //

上記のストアドプロシージャを作成する

document_file_name から * を選択し、 find_in_set(id, getChildLst(1)); 

要約する

これで、MySQL のストアド プロシージャを使用してツリー ノードを取得する方法についての説明は終わりです。MySQL ストアド プロシージャでツリー ノードを取得する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MYSQL ストアドプロシージャと関数の簡単な記述
  • MySQLデータストレージプロセスパラメータの詳細な例
  • MySQL で戻り値ありと戻り値なしのストアド プロシージャを書く 2 つの方法
  • MySQL ストアド プロシージャ、カーソル、トランザクションの例の詳細な説明
  • MySQL でストアド プロシージャを作成し、ループでレコードを追加する方法
  • MySql ストアド プロシージャ パラメータの初歩的な使用法の詳細な説明

<<:  Nginx ポート競合を解決するトラブルシューティング方法の例

>>:  クールな花火効果を実現するjs

推薦する

JavaScriptエラーキャプチャの詳細な説明

目次1. 基本的な使い方とロジック2. 特徴3. エラーオブジェクト4. キャッチアンドスロー戦略の...

WeChatアプレットで計算機機能を実装する

この記事は、WeChat アプレットを使用して作成された簡単な計算機です。興味のある方はご覧ください...

MySQL マルチバージョン同時実行制御 MVCC の実装

目次MVCCとはMVCC 実装MVCC はファントム リードを解決しますか? MVCCとはMVCC ...

Windows での MySQL 8.0.15 の詳細なインストールと使用のチュートリアル

この記事では、MySQL 8.0.15の詳細なインストールと使用方法のチュートリアルを参考までに紹介...

ドラッグアンドドロップでVueユーザーインターフェースを生成する方法

目次序文1. 技術原理1.1 レイアウト1.2 コンポーネント1.3 ステータス1.4 イベント1....

CentOS 環境で NFS リモート ディレクトリ マウントを使用する手順の紹介

目次1. NFS の概要2. NFS構築1. NFSサーバーの構築2. NFSクライアントの構築3....

素晴らしいCSS属性MASKの詳しい説明

この記事では、CSS の非常に興味深い属性マスクを紹介します。名前が示すように、マスクはマスクと翻訳...

CSS でマウスの位置をマッピングし、マウスを動かしてページ要素を制御する (サンプル コード)

マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...

入力タイプの制限(複数の方法)

1. 入力・貼り付けできるのは中国語のみ<input onkeyup="value=...

Centos7 システムに k8s クラスターを展開するための詳細な紹介

目次1 バージョンと計画1.1 バージョン情報: 1.2 クラスター計画2. 展開1. ファイアウォ...

Dockerコンテナのデータを復元する方法

プロジェクトのテスト環境データベースのデータが失われてしまったので、記録しておきたいと思います。当時...

未来志向の総合的なウェブデザイン:プログレッシブエンハンスメント

<br />原文: プログレッシブエンハンスメントを理解するアーロン・ガスタフソン翻訳:...

Centos7 での Mysql5.7.19 の詳細なインストールチュートリアル

1. ダウンロード公式サイトからmysql-5.7.19-linux-glibc2.12-x86_6...

インスピレーションを得るための7つのクールなダイナミックウェブサイトデザイン

デザインの分野では、毎年さまざまなデザインのトレンドや流行があります。たとえば、近年のレスポンシブデ...

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...