我可以有一個查詢來檢查一個條目是否在mysql表中,如果它存在,返回一個列,但如果它不存在,插入並返回一個值?我有以下佈局的用戶表:我可以添加一個條目到mysql並返回一列,如果它不存在於一個查詢中?
userID - int, auto-increment
userName - varchar(100)
active - tinyint(1)
我要像做
select userID from users where userName='<some value>'
和用戶名的合法性,然後返回用戶ID,如果沒有,將其插入並返回新遞增的用戶ID。
我知道我可以在兩個查詢(一個檢查如果用戶名爲存在,然後插入另一)做到這一點,但我能做到這一點的呢?我可以創建一個存儲過程,只能從我的代碼中調用一個東西,但我可以設想存儲過程的唯一方法是也執行兩個查詢。
我看到的東西像REPLACE INTO和上的重複密鑰更新,但這些似乎只工作在更新,而不是選擇一個值。
實際上,如果userid是桌面上的PK,你可以使用mysql_insert_id() – Zak 2009-11-06 23:53:54
http://us3.php.net/mysql_insert_id – Zak 2009-11-06 23:54:27
@Zak一次全部得到它:如果用戶已經存在 – Andomar 2009-11-07 00:05:16