そこで、UPSERTクエリを実装します。私はクエリして最初にユーザーが存在しているかどうかを確認したいのではなく、挿入中にチェックして、ユーザーが存在する場合はフィールドを更新したいと思っています。私はこれらのすべてのクエリを試みましたが、何もしませんでした。テーブルにユーザIDが存在するかどうかを確認してください。else update mysqlバージョン5.7.15に挿入してください。
INSERT INTO `sys_cart` (`userid`, `product_ids`, `date_added`, `date_updated`, `date_deleted`)
VALUES (2 ,`3,4`, `2017-02-01 00:00:00`, `2017-02-01 00:00:00`, null)
ON DUPLICATE `sys_cart.userid` UPDATE `product_ids` = '12,13';
INSERT INTO 'sys_cart'
VALUES (4, '34,12', '2017-02-01 00:00:00', '2017-02-01 00:00:00', null)
ON DUPLICATE userid UPDATE product_ids = VALUES('3,4');
INSERT INTO 'sys_cart'
VALUES (4, 'Gorilla', '2017-02-01 00:00:00', '2017-02-01 00:00:00', null)
ON DUPLICATE userid UPDATE product_ids;
INSERT INTO 'sys_cart'
VALUES (4, 'Gorilla', '2017-02-01 00:00:00', '2017-02-01 00:00:00', null)
ON DUPLICATE userid UPDATE product_ids = VALUES('3,4');
INSERT INTO sys_cart (userid, product_ids, date_added, date_updated, date_deleted)
VALUES (4, "Gorilla", "2017-02-01 00:00:00", "2017-02-01 00:00:00", null)
ON DUPLICATE userid UPDATE product_ids = VALUES("3,4");
INSERT INTO sys_cart (userid, product_ids, date_added, date_updated, date_deleted)
VALUES (4, "Gorilla", "2017-02-01 00:00:00", "2017-02-01 00:00:00", null)
ON DUPLICATE userid UPDATE product_ids = "3,4";
どこが間違っていますか?
カンマ区切りの値をテーブルの列に配置しないでください。別の多対多リレーションシップテーブルを使用します。 – Barmar