Conditional INSERT INTO MySQL - WHERE NOT EXISTS

后端 未结 2 1027
忘了有多久
忘了有多久 2020-12-21 18:51

I am trying to do an INSERT INTO query when the customer does not already have a record of purchasing a product.

I have tried the below SQL, but it doesn\'t seem to

2条回答
  •  感情败类
    2020-12-21 19:36

    On the assumption, that a user may only buy one of each product (ever and for all products).

    ALTER TABLE purchase ADD UNIQUE KEY (`UserID`, `Product`); -- run this just once. this changes the table
    
    INSERT IGNORE INTO purchase (UserID, Product, Price) VALUES ('$userID', '$product', '$price');
    

    Be aware, that this then prevents him from buying any product multiple times, which might not be the desired outcome.

提交回复
热议问题