私は数秒ごとに新しいデータを取得するテーブルを持っています。 (私はこれが正しいことを確認していない)名と説明が一意である列の特定の時間にデータが重複しないようにする間隔
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
| id | business_id | name | description | link | status | created_at |
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
| 1 | 12 | qwerty | Description for product qwerty | zxcvb | 1 | 2015-12-07 23:49:33 |
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
| 2 | 12 | abcde | Description for product abcde | mnopq | 0 | 2015-12-07 23:49:33 |
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
値:製品私のテーブルを検討してください。
条件:新しいデータが最後に挿入されたデータと同じですが、タイムスタンプが5分より大きい場合、更新を実行するか、または新しい行をテーブルに挿入します。 の名前がとの場合、はユニークです。
クエリ私が試してみました:
INSERT INTO product(business_id, name, description, link)
VALUES ('$business_id' ,'$product_name','$product_description', '$short')
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)
どの条件私は変更する必要がありますか?固有のキーを削除する必要がありますか?
idはプライマリである必要があります。名前は確かにユニークである可能性がありますが、説明が不可能であるか不必要であるように思われます。ここにif節は必要ありません。実際、それは非生産的であろう。 – Strawberry