MySQLはシーケンス関数を実装する 1. シーケンスレコードテーブルを作成する テーブル `sys_sequence` を作成します ( `seq_name` varchar(50) 文字セット latin1 COLLATE latin1_bin NOT NULL, `min_value` int(11) NULLではない、 `max_value` int(11) NULLではない、 `current_value` int(11) NOT NULL, `increment_value` int(11) NOT NULL デフォルト '1', 主キー (`seq_name`) ) エンジン=InnoDB デフォルト文字セット=utf8 COLLATE=utf8_bin; 2. シーケンスの基本機能を確立する 区切り文字 $$ CREATE DEFINER=`root`@`%` FUNCTION `_nextval`(name varchar(50)) RETURNS int(11) 始める _cur int を宣言します。 _maxvalue int を宣言します。 -- 最大値を受け取ります。 _increment int を宣言します。 -- 増分ステップの数を受け取ります。 set _increment = (select increment_value from sys_sequence where seq_name = name); _maxvalue を設定します (seq_name = name の場合、sys_sequence から max_value を選択します)。 _cur を設定します (seq_name = name の場合、sys_sequence から current_value を選択)。 sys_sequence を更新 -- 現在の値を更新します。current_value = _cur + increment_value を設定します。 ここで、seq_name = name です。 if(_cur + _increment >= _maxvalue) then -- 両方が最大値に達したかどうかを確認し、sys_sequenceを更新します。 現在の値 = 最小値を設定します ここで、seq_name = name です。 終了の場合; _cur を返します。 終わり$$ 区切り文字 ; 3. 作成したいシーケンスを挿入します `mydb`.`sys_sequence` に挿入します (`seq_name`, `最小値`、 `max_value`、 `現在の値`、 `増分値`) 価値観 ('seq_name1', 1, 99999999, 1, 1); 4. シーケンスを使用する _nextval('seq_name1') を選択します。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Docker基盤技術の適用に関する詳細な説明 名前空間Cgroup
>>: JavaScript を使用して userAgent を通じていくつかの一般的なブラウザを判別する方法
突然、ドキュメントの保存と共同作業のためのプライベート サービスを構築する必要がありました。多くの場...
この記事では、例を使用して、MYSQL データベース テーブル構造を最適化する方法を説明します。ご参...
MySQL の行から列への操作いわゆる行から列への操作は、テーブルの行情報を列情報に変換することです...
1. はじめにこの記事には MySQL インストール部分のスクリーンショットがないので、ある程度の基...
前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...
序文: MySQL システムには、さまざまな種類のログが存在します。さまざまなログにはそれぞれ独自の...
1. 設置環境1. HUAWEI mate x CPU i5 82500u、8g メモリ、独立グラフ...
目次1. MySQLの主キーとテーブルフィールドに関するコメント1. 主キーと自動増分2. テーブル...
時間は本当に存在するのでしょうか?時間は人間が考え出した概念に過ぎず、物事の変化を測る基準に過ぎない...
MySQL 起動エラーWindows 10 に MySQL をインストールする前は、net star...
たとえば、昨日新規登録されたユーザーを照会するには、次の 2 つの書き方があります。 説明する ch...
最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...
目次要約する <テンプレート> <div> 要素 <h2>{{メ...
上の境界線のみを表示する <table frame=above>下の境界線のみを表示する...
text-fill-color とは何を意味しますか?文字通りの意味から言えば、「テキストの塗りつぶ...