仅保留一个具有特定2个字段的MySQL行

时间:2015-05-27 19:36:34

标签: php mysql mysqli phpmyadmin

我有一个带有id,username,datetime和entry_id的MySQL表。 我正在记录对每个条目的访问权限。但是我只需要一行具有相同的用户名和entry_id,因为我只将它用于通知。我怎么能以编程方式删除无用的行? (使用PHP和/或SQL)

编辑:

用户名是普通字符串, ON DUPLICATE KEY无法正常工作,因为我想检查是否只是同一用户名和entry_id 的组合。我只需要一行,具有特定的entry_id和用户名。我想更新datetime。这很难解释:)

所以,每次访问都是新行。我只想在每个唯一的用户名和entry_id组合中更新datetime,而不是始终创建新行。

感谢您提前!

2 个答案:

答案 0 :(得分:0)

只需检查数据库中的上一个条目。如果有,请更新它,如果没有条目 - 插入一个。

答案 1 :(得分:0)

阅读完你的编辑后,听起来像是你想要的东西:

SELECT username, entry_id FROM <table name> WHERE username = <username> AND entry_id = <entry_id>;

如果要更新该行的日期时间列:

UPDATE <table>  SET datetime = <yourdatetime> WHERE username = <username> AND entry_id = <entry_id>