0
嘿,我有我的表在MySQL中以下更新:MySQL的加入1至数多更新的行
$dbBuilder = '';
foreach($_POST as $key => $value)
{
if ($value != 'APPROVE') {
$dbBuilder = $value . ", " . $dbBuilder;
}
}
$dbBuilder = '(' . rtrim($dbBuilder, ", ") . ')';
UPDATE userCase SET Accepted = 1 WHERE CaseNum in $dbBuilder
工作正常,因为它应该......但现在我需要修改它允许一个新的QNum为每个的任何CaseNum。
$result = mysql_query("SELECT QNum FROM userCase ORDER BY QNum DESC limit 1");
while($row = mysql_fetch_assoc($result)) {
$QNum = $row["QNum"] + 1;
break;
}
UPDATE userCase SET Accepted = 1, QNum = " . $QNum . " WHERE CaseNum in $dbBuilder
做这上面的方法就是设置QNum相同数量的所有CaseNum“中”的。它需要是唯一的(例如,为每个新行添加1到QNum)。
它只需要比表中最后一个QNum多1。所以当有人“批准”几件事(可以说3件事),它进入上面的查询,它需要是(可以说数据库中的最后一个数字是4)所以它需要是5 ,6,7。我现在的代码只会做5,5,5。
我将如何使用相同的CaseNum ....以上代码?
谢谢!
'QNum'是外键吗?为什么它需要是独一无二的?你能给我们一些关于你的数据模型的更多信息吗? – Halcyon 2013-05-07 15:41:33
'UPDATE yourTable SET theColumn = theColumn + 1'? – Kermit 2013-05-07 15:43:57
它只需要比表中最后一个QNum多1个。所以当某人“批准”几件事情**(让我们说3件事)**时,它会进入这个查询并且它需要**(可以说最后一个数字是4)**所以它需要** 5,6,7 **。我现在的代码只会做** 5,5,5 **。 – StealthRT 2013-05-07 15:44:26