0から99999までの数値をインクリメンタルに生成してレコードに追加するにはどうすればよいですか?また、99999に達すると0に戻ります。Mysqlは増分数を繰り返すのですか?
1
A
答えて
0
あなたはAUTO_INCREMENTが必要です。
99999でリセットすることは問題になるかもしれませんが、私はそれがそのように機能するというあなたの要求に疑問を呈します。
0
あなたがそれをリセットする必要がある場合は、トリガを作成することができます
create trigger auto_number before insert on `sometable`
begin
new.autoid = coalesce((select max(autoid)+1 from sometable),0) % 1000000
end
基本的に、insert
が発生したときに、これは単に次の最大IDとしてautoid
列を設定します。しかし、それはモジュロを使用して、その数値が1,000,000で繰り返されることを保証します。
1
絶えずインクリメント数(例えば、標準AUTO_INCREMENT)を生成し(またはビュー経由で)データを選択するときに、MOD 100000を通してそれを実行します。
⋮
99998 % 100000 = 99998
99999 % 100000 = 99999
100000 % 100000 = 0
100001 % 100000 = 1
⋮
あなたが作成することで、これは透明にすることができます選択のためのビュー:
CREATE SQL SECURITY INVOKER VIEW whatever AS
SELECT
foo, bar, baz, autoid % 100000 AS autoid, taz
FROM base_table;
は残念ながら、このビューはおそらく更新可能ではありません、あなたが送信する必要がありますので、MySQLは、INSTEAD OF
トリガをサポートしていませんが、基になるテーブルに書き込みます。
関連する問題
- 1. 繰り返し増分リストの部分的な回数
- 2. ビジュアルベーシック次回は繰り返さず、1で増分しない
- 3. googlesheetsスクリプト - 繰り返し回数を増やす
- 4. Pythonで分数の小数部分を繰り返す方法はありますか?
- 5. 繰り返し訪問しないで訪問数を増やすには?
- 6. 複数の間隔でMySQLクエリを繰り返す方法
- 7. Mysql繰り返しで複数のIDを取得するクエリ
- 8. mysqlで顧客数を月単位で繰り返す
- 9. 新しいバージョンのlmerの繰り返し回数が増えますか?
- 10. 繰り返しごとにパディングを増やす方法は?
- 11. forループの繰り返しは分岐と同じですか?
- 12. PHP + MySQL +カレンダーイベントを繰り返す
- 13. PHP/MYSQL +繰り返し中
- 14. mysqlで列の値が繰り返されるレコードを返す
- 15. ループを使わずに繰り返し数を増やして繰り返し行列を作る方法
- 16. Schemeの積分を繰り返して繰り返し計算する
- 17. mysqlでデータの繰り返しを削除するには?
- 18. 単語の繰り返しに応じてモデルの整数フィールドを増やす
- 19. MySQLの増分列
- 20. マクロは、次のrownダウンで自分自身を繰り返す
- 21. MySQLが繰り返しクラッシュする
- 22. phpとmysqlで繰り返し記録
- 23. プライム因数分解JSで繰り返しを与える
- 24. mysqlは行内のデータとジョインのパフォーマンスを繰り返す
- 25. ListVew AndroidのMySqlデータベースから同じ行を繰り返す
- 26. mySQLは、値を繰り返すレコードを取得します
- 27. mysql増分変更
- 28. 複数のOnClickListenersを繰り返すビュー
- 29. 複数のページを繰り返す、ウェブブラウザーコントロール
- 30. 複数の配列を繰り返す
行を削除したり、テーブルを切り捨てたり、列を再作成しない限り、 'auto_increment'をリセットする方法はないと思います。 – Eric