-1

への挿入から生じる主キーを取得する方法 (ショーキーを見て彼の名前を知っていると仮定)? 更新の影響を受ける行の主キーを取得する方法は? (前のケースと同様に、キー名とは関係ありません)。選択クエリから返される主キーを取得する方法 (キーが調査対象のフィールドの 1 つでない場合でもクエリ内)。

このような情報を取得するには、アプリケーションで挿入、更新、および選択の後に実行する SQL コマンドが必要ですが、可能ですか? 私のデータベースは MySQL です。

多くのアプリケーション (java および php) に適用するキャッシュ クエリのロジックを作成しており、ロジックが言語に依存しないことを望んでいるため、SQL のみが必要です。

例:

人から名前を選ぶ

この後に実行されるクエリは、これらの人々の pk を返す必要があります

4

1 に答える 1

0
SELECT LAST_INSERT_ID();

そして真剣に、「insert mysqlからの主キー」をGoogleに入れると、最初の結果としてスタックオーバーフローの答えが得られます。

編集:コメントに基づいてより多くの議論。

更新の影響を受ける行を確認する場合は、UPDATEステートメントと同じWHERE句とJOIN基準を使用してSELECTを実行します。例:

UPDATE foo SET a = 5 WHERE b > 10;

SELECT id FROM foo WHERE b > 10;

自動インクリメントの主キーがないテーブルにINSERTを実行する場合は、特別なことをする必要はありません。INSERTステートメントで自分で設定するため、新しい主キーが何であるかはすでにわかっています。PKの変更を追跡するコードの外部からのINSERTステートメントを処理できるコードが必要な場合は、INSERTステートメントを解析するか、呼び出し元のコードに主キーに関する情報を提供させる必要があります。

于 2012-09-02T04:07:43.927 に答える