列 id、type、user_id、および unseen を含む通知テーブルがあります。
新しい通知数を取得するには、次を使用します。
SELECT count(1)
FROM notifications
WHERE user_id=123 AND unseen=1
新しい通知のみを表示済みとしてマークするには、次を使用します。
UPDATE notifications
SET unseen=0
WHERE user_id=123 AND unseen=1
ただし、この更新クエリではエラーが発生することがあります。知りたいのですが、これを行う正しい方法は何ですか?
編集:
ERROR DESC
トランザクション (プロセス ID 68) がロック時にデッドロックされました。バッファ リソースを別のプロセスと通信しており、デッドロックの犠牲者として選択されています。トランザクションを再実行します。