問題タブ [last-insert-id]
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 - ID を持つ人物を 1 つのクエリに挿入しますか?
次のように MySQL データベースにデータを追加する必要があります。
Person:
pId, nameId, titleId, age
Name:
nameId, name
Title:
titleId, title
データベースに名前やタイトルを複数回入れたくないので、解決策がわかりませんでしたLAST_INSERT_ID()
私のアプローチは次のようになります。
しかし、それはかなり汚いアプローチだと思います!? 可能であれば、1 つのクエリで複数の人を追加し、db に複数回追加する必要はありません。これは良い方法で可能ですか?ありがとう!
php - LAST_INSERT_ID が UPDATE で機能しない
この SQL を使用する場合:
0
最後の挿入 ID として取得します。私はphpを使用しmysqli_insert_id
ていますが、ここに次のように書かれています:
私のテーブルformualre
にはauto increment
列があるので、どこに問題があるのか わかりません
php - MySQL Last_Insert_ID 構文
私はこのコードを持っています:
コードを実行しようとすると、次の MySQL エラーが表示You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @id = (SELECT LAST_INSERT_ID())INSERT INTO test_descriptions (test_id, descr' at line 2
されます。ありがとう。
php - php から select last_insert_id() を使用しても機能しない
私はこれとまったく同じ問題を抱えていますが、その答えは古く、他の場所で mysql_insert_id() の使用が減価償却されており、新しいコードでは避ける必要があることを読みました。
データベースは InnoDB で、このテーブルの主キーは auto_increment に設定されています。
ここで私が間違っていることを誰かが見ることができますか? 私は初心者であり、独学で学習していることに注意してください。申し訳ありませんが、これは明白です。
更新: mysqli を使用しています。
php - Insert_id は、次の準備されたステートメントで直接使用される場合は null です
最後に、準備されたステートメントの学習に取り掛かります。単純な挿入のペアを実行しようとすると、非常に厄介なエラーが発生します。
次のecho $pv_stmt->error;
エラーが表示されます。Column 'page_id' cannot be null
あなたが解釈できると確信しているので、最初のステートメントのpage_id
を割り当てようとしています。insert_id
この値が null ではなく、整数値を返すことは 100% 確信しています。私はこれで直接テストしました:
出力?NEW ID: 13::1
私は何を間違っていますか?列が null でないのに、「列を null にすることはできません」というメッセージが表示されるのはなぜですか? 私がオンラインで見つけることができる唯一の解決策は、予期しない null 値を含むことです。
sql-server - MSSQL トリガー - INSERT で新しく挿入されたレコードを更新する
ステートメントが 0 を超える値を返すCustomerContact
場合、テーブルに挿入される行を変更 (Set Deleted = 1) したいと考えています。SELECT
私は以下を持っていますが、テストされていません:
IF
私のステートメント内では、挿入によって作成されたレコードの新しく挿入された IDFROM INSERTED
が返されると仮定して、 を使用しています。
この声明について 2 つの質問があります。
ステートメントのこの部分は、
UPDATE
挿入されたばかりのレコードを実行しCustomerContact
ますか?UPDATE CustomerContact SET Deleted = 1 WHERE CustomerContactID IN (SELECT CustomerContactID FROM INSERTED);
SELECT
これは、ステートメントの結果に基づいて挿入されたばかりの行に変更を加えるのに正しいと見なされる方法ですか?
CustomerContactID
自動インクリメント主キー列です。
php - SQL LAST_INSERT_ID() と PHP insert_id の両方が 0 を返す
私はこの問題についてグーグルをよく検索してきましたが、実際には何も見つかりませんでした。人々は、last_insert_id に関する MySQL ドキュメントをコピーし続けるだけで、他には何もありません。
両方の状況 (php と sql) で 0 が返されるため、last_insert_id に関する問題があります。
はい: PRIMARY & UNIQUE フィールドに AUTO_INCREMENT 値を設定しました はい: 前に挿入を行いました いいえ: INSERT AND SELECT LAST で二重クエリを作成します... 機能しません。
接続とクエリを維持するためのクラス Db を作成しました。
そして、それは機能しません。
php - 存在しない場合は新しい行を挿入し、新規または既存の ID を取得します
NOT EXISTSとlast_insert_id()を 1 つのコードで使用して、次のことを行いたいと考えています。以下のコードは私のニーズを満たしています。 Col1 は一意のキーであり、コードが既に存在する場合はデータを挿入しません。新しい行が挿入されるか、既に存在する場合、コードは常に関連する行の $id を返します。