php mysql防止基于会话ID插入重复

时间:2013-12-20 08:13:32

标签: php mysql

我正在尝试根据php会话ID阻止重复输入。

INSERT IGNORE INTO mycart  ( `val_1`, `val_2`, `val_3`, `session` ) 
VALUES  ( '$val_1', '$val_2', '$val_3', '$session' )

这会强制我将所有列转换为主键或唯一键,这是我无法做到的,因为唯一的唯一内容可以是组中的session列。

+-+-------------+---------+
|1|fjdsklajkljkl|blue item|
+-+-------------+---------+
|2|fjdsklajkljkl|blue item|
+-+-------------+---------+
|3|T7RghUE1hQVWl|blue item|
+-+-------------+---------+
|4|xGQ8Jhifpu7jN|blue item|
+-+-------------+---------+
|5|xGQ8Jhifpu7jN|red item |
+-+-------------+---------+

从该图中,只有第1行和第2行是重复的。即使是蓝色项目重复,字符串的列也是不同的会话。

1 个答案:

答案 0 :(得分:1)

如果值在那里,您需要检查。您可以使用INSERT ... ON DUPLICATE KEY UPDATE方法轻松完成此操作。