問題タブ [unique-key]
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.
mysql - mysql でのロールバック後の重複一意キー エラー
このようなテーブルがあります
それが空で、自動インクリメントが 0 であると仮定しましょう。例:
私が知る限り、ロールバックは自動インクリメントには影響しません。したがって、新しい値を挿入すると、自動インクリメントは 1 ではなく 2 になります。しかし、「Agatha Christie」を再度挿入しようとすると、次の問題が発生します。
それは私が期待したものではありません。私はこれを期待していました:
どうしたの?
mysql - mysqlの外部キーに一意のキーをドロップする方法は?
私はmysqlに次のテーブルを持っています
ID から一意性を削除する必要があります (null でないか、単にインデックスである必要があります)。このインデックスをUNIQUE KEY ( )ではなくKEY ( )
の
ように変更するにはどうすればよいですか??id
id
id
id
mysql - MySQL の一意の複合制約が機能しない
次のような一意のインデックスを作成しました。
重複したアイテムを追加することはできますが、なぜ機能しないのですか?
ノート:
テーブル自体にもここに含まれていない列がいくつかあり、warehouse_id は外部キーですが、これらは問題にならないはずですよね?
ありがとう!
@cularis: 正常に追加された複製の例を次に示します。
編集:
必要に応じてさらに情報を追加します。
oracle - 運用 Oracle データベースへの ETL - jsp/spring/hibernate アプリで使用
いくつかのレガシー データをオラクル (11gR2) データベースにロードする必要があります。データベースは、jsp/spring/hibernate (3.2.5.ga) アプリケーションによって使用されています。すべてのテーブルで一意のキーを生成するためにシーケンスが使用されます。シーケンス定義は次のとおりです。
データ ロード/ETL のアイデアは、実行して最大シーケンス値で開始するスクリプトを考え出すことです。
スクリプト生成プロセスの開始時に - 移入する必要があるデータの SQL Insert ステートメントを生成しました。スクリプトを介して適用されるデータのクリーンアップ、ビジネス ルールなどの処理に関連するいくつかのロジックがあり、生成された SQL Insert ステートメントは 1 つのバッチで実行されることが期待され、すべてのレガシー データを取り込むことができるはずです。
最大シーケンス値が 1000 であると仮定すると、スクリプトはこれを変数として使用し、必要に応じて増分します。出力 SQL INSERTS は次のようになります。
出力INSERTSがどのようになるかを示すために、いくつかの模擬SQLを作成しました。挿入操作には、さらに多くのテーブルが含まれます。バックエンドからデータを変更する必要があるときはいつでも、HIBERNATE_SEQUENCE.NEXTVAL を使用して次の一意のキー値を取得します。ただし、SQL 生成スクリプトは非接続モードで実行されるため、HIBERNATE_SEQUENCE.NEXTVAL を使用せず、代わりにローカル変数をインクリメントしようとします。
このスクリプトを生成 (および実行) できるという仮定は、
- メンテナンスのためにアプリケーションを停止する
- スクリプトの実行中にデータベース アクティビティがなく、最大シーケンス値から開始します。
- SQL を生成する
SQL を実行 - コミットします。
スクリプト生成の過程で、最大シーケンス値が 1000 から 5000 に上昇すると仮定すると、スクリプトが実行されてデータがロードされた後、HIBERNATE_SEQUENCE をドロップ/作成して 5001 から開始する必要があります。
アプリケーションを元に戻します。
今、私がこれを投稿している理由について、詳細に... このデザインの抜け穴について、また見落としているものがあれば、あなたの提案/意見が必要です。
どんな入力でも大歓迎です。
ありがとう!
iphone - モバイルデバイスの一意の識別子を取得するプログラム的な方法はありますか?
iPhone、Android、Windows Phoneのいずれのデバイスでも、ユーザーごとの一意性を知る方法が必要です。普遍的な方法がない場合、電話番号を保存することが合法であるかどうか(つまり合法であるかどうか)疑問に思いました。
誰かこれで何か経験がありますか?
apache-flex - Flex 4.5 - 固有のコンピューター情報
Flex 4.5 Web ベースのアプリケーションを開発しています。クライアントが特定のレベルのセキュリティを選択した場合、各ユーザーは承認されたコンピューターからのみログに記録できるようにする必要があります。
問題は、固有のコンピューター情報を取得するにはどうすればよいかということです。HDD のシリアル番号、CPU の仕様、マザーボードの情報など、オペレーティング システムにログインしているユーザーでも実行できます。
これまでのところ、Web 上の情報では、これが達成できるという希望はあまりありませんが、尋ねなければなりませんでした。前もって感謝します。
random - 一意の64ビットキーを生成する方法
モデル内のオブジェクトを識別するために、一意の64ビットキー(疑似)をランダムに生成したいと思います。システムのすべてのユーザー間で、キーをできるだけ一意にする必要があります(N個のキーを一緒に使用した場合の衝突の可能性を最小限に抑えます)。
データが安いので、通常のGUIDは今のところ問題外です:)。同じコンテキストで100万を超えるキーが必要になるとは思わないので、64ビットで十分だと思います(衝突の確率は約10e-7です)。
補足として、これらのキーのタプルを単一の64ビットキーにフォールド/ハッシュするスキームも必要になります。これも、適切に分散/一意である必要があります。
とにかく優れた(十分に分散された)ハッシュ関数が必要なので、GUIDを半分に折りたたんでも大丈夫ですか(GUIDの固定ビットを何らかの方法で考慮している可能性があります)?それとも、ローカルRNGを使用する方が良いですか?生成の空間/時間全体で一意性を最大化するためにRNGをシードするにはどうすればよいですか?どのくらい強力なRNGが必要ですか?
私は特に効率性(ある程度まで)を求めていませんが、確率が約束を守ることを本当に望んでいます!
mysql - 一意のキーを使用しながらデータを複製する
私のテーブルでは、一意のインデックスを定義しましたactivity_id
- actor_id
- end_date
;
では、このデータはどのように存在するのでしょうか??
編集:これはの出力ですSHOW CREATE TABLE sg_activity_property
:
sql - 重複が原因で挿入に失敗した後、IDを選択してください
主キーIDと一意キー名を持つMSSQLServerテーブルがあるとします。また、NameにはIGNORE_DUP_KEYが設定されています。私がやりたいのは、操作の実行の成功に関係なく、名前を挿入してからそのIDを取得することです。つまり、名前が重複していない場合は新しいIDを取得し、重複している場合は既存のIDを取得します。
どうやら、名前を挿入してからIDを選択すると、名前が重複している場合は正しく機能しません(この場合、SCOPE_IDENTITY()などの関数はNULLを返します)。ただし、INSERTは、挿入に失敗したNameのIDをすでに検出しているはずなので、これを簡単に実現する方法があるはずです。したがって、このIDはO(1)時間で使用可能になるはずです。
また、パフォーマンス上の懸念から、サーバーへの2つの別々のリクエスト(挿入と選択)を持つことは私にとってオプションではないことに注意してください。
vb.net - モトローラ MC55 固有 ID
Motorola MC55 で、スキャナの工場 ID または一意の ID またはシリアル番号を取得したいと考えています。vb.netでコーディングする方法は?