2017-09-10 10 views
0

最後のIDを更新するためにSELECT LAST_INSERT_ID()を使用しようとしましたが、ゼロになりました。助けてくださいvb.netの最後に更新された行mysqlのIDを取得

+0

1を最後に更新され1つの列のみを返します 'LAST_INSERT_ID()' 'INSERT'と同じ接続から。 INSERTを行うvbコードのシーケンスを表示して、そのIDを照会できますか?あなたの質問を編集してください。 –

+1

last_insert_id()は、最後に挿入された行のIDを返しますが、最後に更新された行を確認しています。そこには衝突があります。 –

+0

おはよう、お返事ありがとうございます。このマニュアル[link](https://dev.mysql.com/doc/refman/5.7/en/mysql-insert-id.html)によると、mysql_insert_idは最後に挿入されたIDまたは更新を返します。私はちょうど更新された行の最後のIDを取得したい。 – NoobProgrammer

答えて

1

テーブルに新しいタイプのDATETIMEタイプを追加します。 attributeセクションからon update CURRENT timestampオプションを選択します。このようにして、列で更新が発生するたびに、データベースは自動的にこの行を更新します。それから、スクリプトからSQLコマンドを書くだけです。

SELECT id fROM table ORDER BY name_of_datetime_column DESC LIMIT 1 

あなたがフェッチする必要があり

+0

巧みな仲間。ありがとうございました。 – NoobProgrammer

1

Connector/.NETを使用している場合は、MySqlCommandオブジェクトにLastInsertedIdプロパティがあることがわかります。クエリの直後にそのプロパティ値を取得することができ、別のクエリを実行する必要はありません。

INSERT操作を実行していない場合は、LAST_INSERTED_ID()の値は取得されません。あなたがしているすべてがUPDATE querysの場合は、LAST_INSERTED_ID()を忘れてください。

+0

更新された行の最後のIDを取得する別の方法はありますか?それとも不可能なのでしょうか? :( – NoobProgrammer

関連する問題