我想使用子查询或其他方式使其成为 一行语句(包括3个查询)
$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'));
}
答案 0 :(得分:1)
查看ON DUPLICATE KEY UPDATE
语法,在一个查询中执行此操作。并尝试下次搜索,例如。 “mysql update on duplicate”。
答案 1 :(得分:1)
您可以使用使用ON DUPLICATE KEY UPDATE
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;