所以,我寫了一個SQL查詢,就像你一樣,而且我偶然發現了一個問題。我想要做的是在每次唯一用戶訪問特定頁面時在數據庫中發出查詢。獨特性通過session_id()完成,因爲這通常是相當可靠的。SQL查詢 - 插入但只有當記錄不存在時?
我想要的是一個SQL查詢,它將一行數據插入到兩列中,但只有在這兩列沒有相同的值時。
如果用戶x
訪問的頁面命名page1
,然後在數據庫中,它會記錄如下圖所示:
+------------+---------+
| page_name | user_id |
+------------+---------+
| page1 | x |
+------------+---------+
我將如何去寫一個查詢,檢查表格看,如果數據是插入將是重複的?
我當前的查詢如下(它只是一個標準插入查詢):
INSERT INTO `page_views` (`page_name`, `user_id`) VALUES ('.$pageName.', \''.session_id().'\')
檢查答案在這裏: - http://stackoverflow.com/questions/16460397/sql-insert-into-table-only-if-record-doesnt-exist –
的[檢查是否行存在可能的複製,否則插入](http://stackoverflow.com/questions/639854/check-if-a-row-exists-otherwise-insert) – Raj
[MySQL條件插入]的可能重複(http://stackoverflow.com/questions/913841/mysql-conditional-insert) –