問題タブ [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.
mysql - last_insert_id()とSELECT Max(ID)
SELECT Max(ID)FROMテーブルを使用する方が、2つの別々のクエリとして実行されるSELECT last_insert_id()を使用するよりも安全ですか?
last_insert_id()を実行する前に、別の挿入が行われるのではないかと心配しています。
mysql - mySQL 5.0.45 LAST_INSERT_ID() および signed int より大きい値
signed int 値 2147483647 を超えた自動インクリメント インデックスで LAST_INSERT_ID を使用しようとしています。この列は unsigned int です。ただし、LAST_INSERT_ID() は無効な負の値を返しています。これを調査したところ、これがこの関数の性質であることを示すいくつかのコメントが見つかりました。しかし、公式に文書化されていることがわかりません。数年前にさかのぼるいくつかのバグ レポートがまだ未解決です。
したがって、これが実際に既知のバグであるかどうか、および/またはこれについて何かできることがあるかどうかを知る必要があります。mySQL を新しいバージョンにアップグレードする必要がありますか?
php - PHP経由でLAST_INSERT_ID()を使用していますか?
MySQL コンソールで次を実行すると、正常に動作します。
しかし、PHP 経由で上記のクエリを実行すると、結果は空になります。
データ抽象化の下で、私は という名前のデータベース アクセス クラスを使用していますDB
。これは、PHPを介して上記のクエリを試した方法です:
Embed_code は繰り返される可能性があるため、embed_code によって新しい ID を選択することは信頼できません。
ありがとう!
php - doctrine 2で最後の挿入IDを取得しますか?
doctrine 2 ORMで最後の挿入IDを取得するにはどうすればよいですか? ドクトリンのドキュメントでこれを見つけられませんでした。これは可能ですか?
sql - 一括挿入はアトミックですか?
自動インクリメントの主キーを持つテーブルがあります。大量のデータを挿入し、追加のクエリなしでそれぞれのキーを取得したい。
MySQL は、すべてのデータが 1 つの連続した順序付けられたフローに挿入されることを保証できるので、各要素の ID を簡単に計算できますか?
mysql - 以前: 最後に挿入された ID を取得する - mysql 現在: 最後に挿入された ID をどこで呼び出す必要がありますか?
これが問題です。特定のテーブルにデータを挿入するコードにアクセスできません。ただし、関連する追加データを別のテーブルに追加する必要があります。そこで、最後に挿入された ID を取得して、そこから関連データを他のテーブルに挿入することを考えていました。
私はステートメントにアクセスできないので、mysql の last insert id 関数はここでは役に立たないと思います。
私が見るすべての PDO::lastInsertId の例は、その前にいくつかの「挿入クエリ」にも関連付けられているため、同様に使用されません。
元の挿入ステートメントにアクセスできない場合に、最後に挿入された ID を取得するにはどうすればよいですか?
データ フロー: ここから始まります : signup.tpl
jsには次のものがあります。
それでは、「validatecheckout」をindex.phpで探してみましょう 。
挿入に関しては、この線に沿って読むことはできません。私が得ることができる直後は、条件文の後ですよね?
前もってありがとう、MEM
android - sqliteデータベースAndroidから最後に挿入された値を取得します
Androidのsqliteデータベースから最後に挿入されたROWIDを取得しようとしています。私はそれについてたくさんの投稿を読みましたが、それを機能させることができません。これが私の方法です:
MAXを試してみましたが、間違って使用しているに違いありません。別の方法はありますか?
mysql - UPDATE トリガーがある場合、ON DUPLICATE KEY UPDATE が機能しない
次のようなINSERT
ステートメントがあります。
このやり方でうまくいきました。次のトリガーを追加すると、動作しなくなりました。
officer
レコードが挿入されていないわけではありません。引き金はハイジャックLAST_INSERT_ID()
か何かのようです。私がこれを言うのは、実行される次のクエリがこれだからです:
まったく同じファイルで何十回もインポートを成功させたので、コードを変更していません。このトリガーを追加した後、インポートが機能しなくなりました。トリガーが原因であると推測する必要があります。別のテーブルで同様の状況が発生し、トリガーを削除すると問題が解決しました。
だから私の質問は:
- 具体的には、役員 ID が 0 に設定される原因を誰か説明できますか?
- この問題の良い解決策は何ですか?
別のトリガーofficer.created_at
(および他の多くのテーブル) があり、トリガーが on であるがoncreated_at
であるという厄介な解決策を避けたいと思います。何らかの理由で、MySQL はテーブルごとに 1 つの自動タイムスタンプしか許可しないため、 との両方を行うことはできません。created_at
DEFAULT CURRENT_TIMESTAMP
updated_at
CURRENT_TIMESTAMP
created_at
updated_at
は次のとおりSHOW CREATE TABLE
です。officer
kohana - コハナ3のinsert_id
MysqlストアドプロシージャでKohana3フレームワークを使用しています。最後に挿入されたレコードのIDを取得するにはどうすればよいですか?コードは次のとおりです。
ドキュメントによると、query()メソッドは、挿入クエリを実行すると、最後の挿入IDと影響を受ける行番号を持つ配列を返します。print_r($ result)を呼び出すと、次のようになります。配列([0] => 0 [1] => 1)データベースに多くのレコードがありますが、insert_idキーは0です。私が間違っているのは何ですか?
c# - Informix:最後の挿入ステートメントのROWIDを取得する方法
これは私が以前に尋ねた質問の拡張です:C#:Informixを使用して挿入された最後の行のID番号を取得するにはどうすればよいですか?
.NET Informixドライバーを使用してinformixデータベースにレコードを挿入するコードをC#で記述しています。最後の挿入のIDを取得できましたが、一部のテーブルでは「serial」属性が使用されていません。次のようなコマンドを探していましたが、idではなくrowidを取得しました。
SELECT DBINFO ('sqlca.sqlerrd1') FROM systables WHERE tabid = 1;
そして、はい、私はそれが一定ではないので、rowidでの作業は危険であることを認識しています。ただし、ROWIDが再配置されるなどの方法でテーブルが変更された場合は、アプリケーションでクライアントアプリにデータのリセットを強制させる予定です。