問題タブ [lastinsertid]
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.
java - Java、PreparedStatement、TransactSQL (MS SQL)、最後の挿入 ID
PreparedStatement を使用してデータベースにいくつかの値を挿入しましたが、その場合、最後の挿入 ID を取得できないようです。
ステートメント (以下) に使用するのと同じステートメントを使用しようとしましたが、機能しません。この場合、 .executeQuery() は引数を取ることができないと言われています。
実際、最後の挿入 ID は正確には必要ありません。影響を受ける行の数で十分ですが、どうすればそれを取得できますか? PreparedStatement の .executeUpdate() メソッドは影響を受ける行の数を返すと思っていましたが、そうではないようです。
これが方法です。
前もって感謝します。
mysql - mysql の Subsonic 3.0.0.4 アクティブ レコード テンプレートが最後に挿入された ID を返さない
エラーを再現する手順:
CREATE TABLE person ( person_id int(11) NOT NULL AUTO_INCREMENT, firstname varchar(20) DEFAULT NULL, lastname varchar(20) DEFAULT NULL, age int(11) DEFAULT '0', PRIMARY KEY (person_id) ) ENGINE=InnoDB AUTO_INCREMENT= 36 DEFAULT CHARSET=latin1
INSERT INTO person(firstname,lastname,age) VALUES ('myname',NULL,NULL) ;SELECT LAST_INSERT_ID() を newid として
出力は「0」
sql - vb.net sql最後に挿入されたID
Access データベースで VB.NET を使用しています。値を挿入しますが、最後に挿入された ID (自動番号) を取得し、それを関連テーブルに挿入する必要があります。
@@IDENTITY と MAX(column) を試しましたが、@@IDENTITY はゼロを返し、MAX はあまり信頼できません (データの挿入が遅い場合があるため、挿入される前に ID を取得してください)。
これは 2 つの関数で行われるため、上記のコードはわかりにくいかもしれませんが、これは 2 つの関数から取ったものです。2 つのステートメントが実行されますが、例として実行されるステートメントを 1 つだけ示しました。
@@IDENTITY と MAX に代わるものはありますか? @@IDENTITY でどのように問題が発生するのかわかりません。
アドバイスをありがとう:)。
mysql - mysql:mysql_insert_id();の代わりに使用する任意のコマンド。PHPで?
アイテムを挿入するだけの主キーIDを取得したい。PHPにはmysql_insert_id()があります。私はC#で書きます
mysql - 複数のレコードで使用されるMySQLLAST_INSERT_ID()INSERTステートメント
単一のレコード挿入を実行するループで複数のレコードを挿入すると、予想どおり、最後に返される挿入IDが最後の挿入IDになります。しかし、複数のレコードを挿入する場合は、次のステートメントを挿入します。
上記の3つがテーブルに挿入された最初のレコードであるとしましょう。挿入ステートメントの後、最後の挿入IDが3を返すことを期待していましたが、1を返しました。問題のステートメントの最初の挿入ID。
LAST_INSERT_ID()
したがって、これが複数のレコードのINSERTステートメントのコンテキストでの正常な動作であるかどうかを誰かが確認できますか。だから私はそれに基づいてコードを書くことができます。
php - SELECT LAST_INSERT_ID() ※更新
私は SELECT LAST_INSERT_ID() を使用しようとしています。フォームを使用してユーザー入力値を取得しています。最初の挿入では、次の挿入のために最後に挿入されたIDを取得する必要があります...最後に選択されたIDを取得して2番目の挿入ステートメントに渡す方法がわかりません
コードを更新しましたが、テーブルに投稿する ID をまだ取得できません
mysql - 行を別のテーブルに挿入するようにMySQLトリガーをプログラムする方法は?
テーブルに MySQL トリガーを作成しようとしています。基本的に、私はアクティビティ ストリームを作成しており、ユーザーによるアクションをログに記録する必要があります。ユーザーがコメントを作成すると、そのテーブルでデータベース トリガーが起動し、次のようになります。
- 最後に挿入された行の ID (コメント行の ID) を取得します。
- 最後に挿入された行のデータを使用して、アクティビティ テーブルに INSERT を実行します。
基本的に、コメントを削除するためにこのトリガーを複製します。
私が持っていた質問:
- LAST_INSERT_ID() は ID を取得する最良の方法ですか?
- 「INSERT into activities」ステートメントで使用するために、最後に挿入されたコメント行のデータを適切に保存するにはどうすればよいですか?
- ストアド プロシージャとトリガーを組み合わせて使用する必要がありますか?
- トリガーの基本構造はどのようになりますか?
ありがとう!DB のトリガー、プロシージャ、および関数に関係するものに触れてから数年が経ちました。
sql - mysql複数行の挿入-last_insert_id()を使用したselectステートメント
Ok。つまり、私は次のようなINSERTSELECTを実行しようとしていました。
もちろん、@ keyは、各挿入から後続の各LAST_INSERT_ID()を返すのではなく、最後の挿入からのIDのみを返します。
基本的に、私は古いUSERテーブルをENTITYとUSERに分割しています。
なぜ私はこれをしたいのですか?基本的に、住所や電話番号など、「USERS」に共通のフィールドを持つ「STORE」エンティティがあります。したがって、「ENTITY」には、複数の住所(配送、請求、郵送)がなく、複数の電話番号(ファックス、メイン、請求、携帯電話、自宅)がない場合があります。これを実現する方法は他にもありますが、これが解決策です。で終わった。
古いデータベースのSTOREとUSERSは、古いPKを保持し、追加のENTITYfkを取得する必要があります。ダンプを作成して手動で編集せずにこれを行うにはどうすればよいですか?
mysql - 挿入する最速の方法が存在しない場合は、MySQL で ID を取得します
このテーブルがあります。
id
主キーです。domain
ユニークキーです。
したい:
- まだ存在しない場合は、新しいドメインを挿入します。
id
そのドメインの を取得します。
今、私はこのようにやっています:
次にPDO::lastInsertId()
、を取得しid
ます。
しかし、これが可能な限り高速であることが重要なので、私は尋ねたいと思います:これをより良い方法で行うことはできますか?
php - メソッド PDO::lastInsertId() の引数「シーケンス名」は何を意味しますか? (PHP - PDO)
PDO の lastInsertId メソッドを使用しようとしていますが、ドキュメントには、一部の rdbms では引数としてシーケンス名が必要であると記載されています。mysql にしか慣れていないので、シーケンス名が何なのかよくわかりません。自動インクリメント ID を含む列の名前を意味しますか? メソッドのドキュメントは次のとおりです。
http://php.net/manual/en/pdo.lastinsertid.php
これに関する情報は大歓迎です。ありがとう。