問題タブ [auto-increment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
1758 参照

ruby-on-rails - データベースの自動インクリメント主キーに頼ることができますか?

私の現在の Rails アプリケーションでは、モデルを " created_at" フィールドでソートすることにより、スケジューリングの競合を解決しています。created_atしかし、これが可能なフォームから複数のモデルを挿入すると、すべての時間がまったく同じになることに気付きました。

これは、プログラミングのベスト プラクティスの問題です。アプリケーションは、データベース内の ID 列に依存してINSERT、作成順序を取得するたびに増加していくことができますか? 別の言い方をすれば、データベースから取り出した行のグループを ID 列で並べ替えて、これが作成順序に基づく正確な並べ替えであることを確認できますか? そして、これは私のアプリケーションで良い習慣ですか?

0 投票する
4 に答える
3539 参照

mysql - MySQL current_insert_id()? (last_insert_id() ではありません)

行の自動 ID に基づいて (とりわけ) ハッシュの char 列を含む行を挿入しています。

それを挿入し、insert_id をフェッチし、ハッシュを計算し、更新できることはわかっています。

単一のクエリでこれを行う方法を知っている人はいますか? 挿入時に行 insert_id が必要になります。それは完全に不可能ですか、それとも current_insert_id() のようなものがあります...

ありがとう!

0 投票する
2 に答える
1454 参照

mysql - 重複を許可する AUTO_INCREMENT 列を持つことは可能ですか?

フィールドを持つテーブルがありAUTO_INCREMENTます。現在、これは PRIMARY KEY でもあります。

AUTO_INCREMENTただし、重複を許可するためにこの列が必要な場合があります。つまり、2 つの異なる行が列内で同じ値を持つことができAUTO_INCREMENTます。これは、PRIMARY KEY ではない AUTO_INCREMENT フィールドを持つことを意味します。

これは可能ですか?

私はそれをやろうとするたびに、このエラーが発生するので、そうではないと推測しています:

ERROR 1075 (42000) at line 130: Incorrect table definition; there can be only one auto column and it must be defined as a key

AUTO_INCREMENT フィールドを使用すると、データベースの別の場所に別のカウンターを手動で保存/インクリメントする必要がなくなるため、気に入っています。テーブルに挿入するだけで、挿入された値を取得できます。ただし、重複ができない場合は、別のテーブルを使用して追跡し、このフィールドを手動でインクリメントすることに行き詰まるようです。

更新: 簡単な説明として、ここで説明されているように、AUTO_INCREMENT フィールドを別のキーでグループ化することに既に精通しています。議論のために、データベース内の他の制約のためにこのソリューションが機能しないと仮定しましょう。

0 投票する
3 に答える
5027 参照

auto-increment - SQLAnywhereの自動インクリメントリセット

SQL Anywhere 9データベースがあり、列の1つの自動インクリメント値を特定の数値にリセットしたいと思います。

SQL-Anywhereに相当するものが必要だと思います。

ALTER TABLE foo AUTO_INCREMENT =100

0 投票する
5 に答える
37261 参照

sql-server - 主キーを AUTOINCREMENT として作成するにはどうすればよいですか

データベースにテーブルがあり、主キーは「ID」です。自動インクリメントにする方法を知りたいだけです

それが簡単なQであることは知っていますが、どうすればよいかわかりません。

ありがとう

0 投票する
2 に答える
760 参照

asp.net - vb.net 2008 で主キーを AUTOINCREMENT として作成するにはどうすればよいですか?

DB にテーブルがあり、主キーは 'TID' 列で、それを AUTOINCREMENT として作成したいのですが、「ID 仕様」がオフになっているためできません!

この写真を参照してください: http://www.rofof.com/img2/6xsbuy6.gif

どうすればいいですか?

ありがとう!

0 投票する
7 に答える
34770 参照

sql - SQLServer SELECT ステートメントから新しい IDENTITY 列の値を返すにはどうすればよいですか?

自動インクリメント キー フィールドを使用して SQLServer テーブルに挿入しています。(これは、SQLServer では IDENTITY 列と呼ばれていると思います。)

Oracle では、RETURNING キーワードを使用して、生成された値を返す SELECT クエリのような結果セットを INSERT ステートメントに与えることができます。

SQLServer でこれを達成するにはどうすればよいですか?

おまけ: わかりました。ここまではいい回答ですが、可能であれば、それを 1 つのステートメントにまとめるにはどうすればよいですか? :)

0 投票する
1 に答える
1148 参照

mysql - 何らかの理由でMySQLテーブルが10ずつ増加する

何らかの理由で、mysql テーブルの id フィールドが 10 (11、21、31) ずつ増加しています。テーブル定義は次のとおりです。

SQL で単純な挿入ステートメントを実行すると、次の ID は 41 になります。

0 投票する
1 に答える
1705 参照

python - SQLAlchemy のカスタム ロジックを使用した自動インクリメント属性

ユーザーが請求書を保存するときにアプリケーションによって割り当てられる必要がある「番号」属性を持つ単純な「請求書」クラスがあります。いくつかの制約があります:

1) アプリケーションは (シン) クライアント サーバー アプリケーションであるため、番号を割り当てるものは何でも衝突に注意する必要があります
2) 請求書にも「バージョン」属性があるため、単純な DBMS レベルの自動インクリメント フィールドを使用できません

請求書が保存されるたびに作動するカスタムタイプを使用してこれを構築しようとしています。process_bind_param が None 値で呼び出されると、数を決定して衝突を避けるために何らかのシングルトンが呼び出されます。これはまともな解決策ですか?とにかく、私は問題を抱えています..これが私のカスタムタイプです:

私の問題は、Invoice を保存し、AutoIncrement がその番号の値として「1」を設定すると、Invoice インスタンスが新しい番号で更新されないことです..これは予想どおりですか? 何か不足していますか?お時間をいただきありがとうございました!

(Python 2.6 上の SQLA 0.5.3、postgreSQL 8.3 を使用)

編集: TypeDecorators はデフォルト値を扱わないため、Michael Bayer は、この動作は予期されていると私に言いました。