0
我很新的MySQL和有一個表(listOfNames)3列像這樣:MySQL和PHP INSERT和UPDATE和檢索新值將立即
id[int] auto-increment (primary)
name[varchar] (unique)
timesSeen[int] default 1
我插入「名」到表通過首先檢查是否爲名稱已存在某行,如果不是我們添加它,否則,我們通過增加其更新timesSeen 1。我能夠做的值用下面的PHP的mysqli對象:
$query = "INSERT INTO `listOfNames`(`name`) VALUES (`someName`) ON DUPLICATE KEY UPDATE `timesSeen` = VALUES (`timesSeen`) + 1";
$results = $conn->query($query);
什麼我想要做的是現在訪問someName的timesSeen的新值,而不用做一個新的SELECT查詢。我認爲你可以訪問這一行,只需插入或更新它,而無需創建一個新的單獨的SELECT查詢。然而$ conn-> query()只返回一個用於INSERT查詢的布爾值。
那麼,在我的INSERT UPDATE查詢之後立即爲「someName」獲取新的timesSeen值的最簡單方法是什麼?我有沒有看到我的$ conn對象有某種lastResult()成員函數?
感謝您提供的任何幫助。
謝謝,我剛剛在文檔中以及http://dev.mysql.com/doc/refman/5.7/en/update.html中閱讀它。 「您無法更新表並從子查詢中的同一個表中進行選擇。」然後我將使用另一個SELECT查詢。 – Wallboy