わかりました。ユーザーのデバイスを収集するテーブルがあります。ユーザーがログインするときに、デバイスを登録する必要があります。デバイスが既に存在する場合は、タイムスタンプを更新するだけです。これは、ユーザーがログインしたときのみです。
テーブルは次のようになります。
device_id => BIGINT AUTOINCREMENT PRIMARY KEY
user_id => BIGINT FOREIGN KEY users(id)
device_name => VARCHAR(40) (Will be like 'Donald ducks iphone')
device_type => VARCHAR(10) (Will be defined by the client, like "IOS")
last_usage => TIMESTAMP (On update, new timestamp and all that)
したがって、ユーザーがログインすると、user_id、device_name、device_typeがあります。
私が欲しいもの:ID、名前、タイプがすでに行に存在する場合は、タイムスタンプを更新するだけです。それ以外の場合は、値を挿入します。
これは主キーとは何の関係もないので、これを行う方法がわかりません。もちろん、最初にこれらの値を選択し、それを返し、後で更新/挿入を行うようなこともできますが、これは正しくありません:)