开发者

How to insert data with IGNORE if one variable is allways different?

I would开发者_如何学C like to use INSERT IGNORE INTO in order to enter only data that doesnt exist allready in my database. Now my question is: How can I do this if I have a variable "time" which is allways different. But the rest would be the same.

For example:

"INSERT IGNORE INTO something (value1, value2, time)
VALUES ('".$value1."', '".$value2."', '".NOW()."')"

How could I tell INSERT IGNORE that he should insert all data even though the time (NOW()) is allways different?

Thanks for your help!


INSERT IGNORE would skip an insert only if a unique key is violated (not if all columns are the same). Define a unique key which includes all relevant columns, and does not include the time column.

Example: if you already have the record:

1,2,12:00

And a unique key which covers the first and second columns, running

INSERT IGNORE INTO table VALUES(1,2,14:30)

Will not insert the record, while

INSERT IGNORE INTO table VALUES(1,3,14:30)

Will insert a new record.


You need to add a primary key to avoid the duplication of records

alter table something add primary key (value1,value2,time);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜