- 「過程」是事先準備好的聲明
- 「QID」 &「UnqId」是外鍵子(只是一個索引)
我想使它一個行語句(含3個查詢)的MySQL使用子查詢的或等如果數據存在,那麼更新否則插入,MySQL的使用子查詢或等
$get = $call->process("SELECT UnqId FROM table1
WHERE QId = ? AND UnqId = ?",
array($_SESSION['Q'], $_SESSION['U']));
if($get) //if table exists
{
$call->process("UPDATE table1 SET col3 = ?, col4 = UTC_TIMESTAMP()
WHERE QId = ? AND UnqId = ?",
array('OK', $_SESSION['Q'], $_SESSION['U']));
}
else
{
$call->process("INSERT INTO table1 VALUES (?, ?, ?, UTC_TIMESTAMP(),
NULL, NULL, NULL, NULL)",
array($_SESSION['Q'], $_SESSION['U'], 'OK'));
}
如果你使用MySQL查詢,你可以看看[INSERT對重複密鑰更新](http://dev.mysql.com/doc/ refman/5.0/en/insert-on-duplicate.html)語法,這是一件美麗的事情!但請注意,如果你移動數據庫,這是隻有mysql的 – Dale
@Dale但我怎麼能做三個查詢一行查詢?包括SELECT語句。 – Frank11
我不確定你是否可以,先運行你的選擇,然後根據我以前的評論中的鏈接文檔創建一行插入/更新 – Dale