2017-11-25 77 views
0

我有一個小應用程序。我想在用戶訪問後,我的應用程序將保存登錄數據庫。像這樣:插入最新的數據到mySQL

  uid username2  timelogin 
      -------------------- 
      123 ALex  2017-11-25 17:22:00 
      134 Anna  2017-11-25 17:25:00 

但是我遇到了麻煩。我的應用程序保存用戶的所有時間登錄。像這樣:

 uid username2  timelogin 
     -------------------- 
     123 ALex  2017-11-25 17:22:00 
     134 Anna  2017-11-25 17:25:00 
     123 Alex  2017-11-25 17:26:00 
     134 Anna  2017-11-25 17:27:00  

我想我的應用程序只保存每個用戶名的最後一次。像這樣:

 uid username2  timelogin 
     -------------------- 
     123 Alex  2017-11-25 17:26:00 
     134 Anna  2017-11-25 17:27:00 

請幫我修復。這是我的MYSQL查詢。

$sql = "INSERT INTO log (uid, username2, timelogin) 
    VALUES ('$id[1]', '$user[2]', FROM_UNIXTIME($t))"; 

    if (mysqli_query($conn, $sql)) { 
    echo "New record created successfully"; 
    } else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
    } 
+0

我看不出有什麼錯在這 – Rahul

+0

是的,但它保存所有用戶的時間登錄。我想要更新最新的timelogin在MySQL。Ex '123亞歷克斯2017-11-25 17:22:00'取代'123 ALex 2017-11-25 17:26 :00' – Doublelift

+0

如果你不想重複,可能會在重複鍵 – Strawberry

回答

1

更換作品酷似INSERT,不同之處在於,如果一個老行的表具有相同的值作爲一個主鍵或唯一索引的新行,舊行插入新行之前刪除。請參見第13.2.5節「INSERT語法」。 REPLACE是SQL標準的MySQL擴展。

如果用戶名,用戶名是主要關鍵。

REPLACE INTO日誌(UID,USERNAME2,timelogin) VALUES( '$ ID [1]', '$用戶[2]',FROM_UNIXTIME($ t))的」