我正在尋找一種方法,使某種功能進入PHP和MySQL誰給我作爲一個簡單的表中的記錄的ID。非常快速的PHP-MySQL交互
我得到了一個id - >值表,其中id是一個自動增量字段。
自然的方式或簡單的方法,我知道的是:
$myId = Check('Cheese');
function Check($value) {
$sql = "SELECT id FROM table WHERE value = '$value'");
$res = mysql_query($sql);
if ($res)
return mysql_result($res,0);
// If the record doesn't exist then continue to insert the record
$sql = "INSERT INTO table (value) values ('$value')";
$res = mysql_query($sql);
return mysql_insert_id();
}
好吧,我想這是經典的方式..但我認爲必須有一個MySQL命令或誰使事情變得更簡單一些。
我知道有一個插入IGNORE,但有沒有辦法讓選擇只有當不存在,並返回ID?
我想要做的事,如:
選擇ID從表 其中value = '假' 如果不存在,則 INSERT INTO表(值)值( '假')
所以我將獲得的ID在一個步驟和MySQL將解決這一問題和代碼的效率會更高或快速..
(想象一下,我有使這10000次)
此功能也存在於http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html中,它需要'value'列上的唯一鍵。 – ceteras 2010-07-19 06:43:30
好吧,對我來說感謝這是真的,我需要定義字符串上的唯一索引,但它的工作原理 – diego2k 2011-06-19 23:13:47