問題タブ [mysql-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.

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

php - php mysql_id()が最後の挿入を取得していません

最後の挿入IDに対してNULLが返されるので、誰かが私のコードをチェックしていただければ幸いです。$ resultクエリの代わりにID番号を配置すると、jsonエコーが返されます。私の勘は、最後の「}」括弧の配置と関係があるということです。

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

php - mysql_insert_id(); not returning value after successful row insert

I swear I have poured and poured over every other similar question on this site and others... but I think I'm just missing something. Hopefully someone can point out a silly mistake that my brain is hiding from me. :)

My script inserts values from a form into a table called "notes"

At that point it creates two entries in a table called "relationships" through a function called newRelationship.

The value of the variable "$note_id" is populated via my mysql_insert_id(); and passed into the above function.

When the code is executed, the entry is successfully added to "notes" and the "id" column is given a proper value with auto_increment.

Next, two entries are added to the "relationship" table (as they should).

HOWEVER, my mysql_insert_id() keeps kicking out a value of "0" instead of the new row id.

For the life of me I cant figure out what I'm doing wrong. I even tried creating a new table from scratch with the same results. The kicker is that I use pretty much identical code in other files of my project with no problems. Anyone see what I'm doing wrong?

the code in question

And my function

Per @jack's suggestion here is the sql of my notes table

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

php - mysql_insert_id() のエラー [MAIL TAG]

2 番目のmysql_insert_id() (9 行目) は正しいです! しかし、最初の mysql_insert_id() (6 行目) は、電子メール ボックスに 0 を返します。

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

php - Id を取得して別のテーブルを Id で更新する挿入クエリを実行する

テーブルに新しい行を挿入し、その行の ID を取得して別のテーブルを更新する必要があります。これは私が持っているものです:

すべてが正常に機能します..リードテーブルに重複した行を挿入することを除いて.. 更新クエリをifステートメントに入れてみましたが、同じことが行われました(これは単に「何か」を試すためでした)。$lastID = mysql_insert_id(); を削除すると 1 行だけ挿入しますが、明らかに連絡先テーブルを更新しません。したがって、それは mysql_insert_id() と関係があると確信しています。リード テーブルに挿入された行の新しい ID で連絡先テーブルを更新する必要があります。どんなアイデアでも大歓迎です。

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

php - ジャンクション テーブルで mysql_insert_id を使用する方法

customerフォームと、phone_number、およびjunction(多対多の関係を作成するため) の3 つのテーブルがあります。

テーブルのand列に入力するために、 customerandテーブルから新しく作成された自動インクリメント ID を使用して、3 つのテーブルすべてにデータを入力するフォームが必要です。phone numbercustomer_idphone_idjunction

customer新しく作成された ID をテーブルからテーブルに挿入する次のコードを思いつきましたjunctionが、電話番号を取得して同じことを行う方法がわかりません。

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

php - $_POST を MySQL に挿入しようとすると値が取得されない

私はクイズ システムを作成しています。HTML フォームの $_POST から質問テキストを挿入しようとすると、空の値が挿入され、question_id はゼロのままです。

PHP 部分

テーブルの question_id は int(11) です mysql の質問は varchar(60) です

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

mysql - mysql のみで可変変数を作成しようとしています。(PHPは使用していません)

環境

動的に生成された .sql ファイルには、他のテーブルに依存するさまざまなテーブルにデータを挿入するために使用される一連の挿入ステートメントが含まれています。

各挿入ステートメントが実行された後、特定のテーブルに自動インクリメントされた id 列がある場合、テキスト "SET @autoIncrementColumnName = LAST_INSERT_ID();" その挿入ステートメントの最後の挿入 ID を mysql 変数に格納するものが生成されます。次に、その特定のテーブルに別の INSERT ステートメントがある場合は、プロセスが繰り返されます。問題は、各ステートメントが「SET @autoIncrementColumnName = LAST_INSERT_ID();」であることです。後で .sql ファイルで変数を使用できるようになる前に、以前の変数を上書きします。

そのため、後で .sql スクリプトに次のような 2 行が表示されます。

以前に保存した mysql 値を挿入する必要がありますが、1 つを除いてすべての変数が上書きされています。

2 つの質問

  1. MYSQL のみを使用して可変変数を作成することは可能ですか? このような:

    /li>
  2. 可変変数が使用できない場合、どのソリューションを使用できますか?

どうもありがとう!

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

php - プライマリの自動インクリメントフィールドの列名がidでない場合、$ this-> db-> insert_id()関数を使用できます

私はCodeigniterを初めて使用します。

これが私のテーブルです:

request_id | login_name | login_password | reg_date | 状態

$this->db->insert_id()プライマリ自動インクリメント列名がではrequest_idなく、最後に挿入されたIDを取得するために使用できますidか?

どんな助けでもありがたいです。

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

php - mysql_queryでmysql_insert_idを使用する

dbにデータを入れようとしていますが、問題が発生しています。これは私のコードです:

問題は次のとおりです。最後のINSERTはmysql_insert_id()を使用しており、最初のクエリのIDを使用しておらず、umeta_idを使用しています。何を変更する必要がありますか?助けてください

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

mysql - リレーションを使用したmysql二重挿入

私は mySQL の初心者です。通常は、INSERT、SELECT ステートメント以外は使用しません...

this questionまたはthis oneのようないくつかのSO投稿を見た後。よくわかりません。

私の(単純化された)シナリオ:

私は2つのテーブルを持っています。

フォームで、2 つのフォーム フィールドを送信しています。title, content

今、各テーブルに各値を挿入したいのですが、もちろんそれtitles.pages_idが と同じ値であることを確認したいのですpages.idtitles.idとはどちらpages.idも自動インクリメントです。

これは PHP に関する質問ではありません

mysqli_insert_id()PHPを使用して2つの別々のSQLステートメントを作成し、2番目のクエリの最初のクエリから使用することで、これを行う方法を知っています。

しかし、マルチインサートクエリを実行するSQLのみの方法があると思います...またはありますか?

ありがとう。