Привет всем У меня есть следующее обновление для моей таблицы в 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 в "In". Он должен быть уникальным (как, добавив 1 к QNum для каждой новой строки).
Это должно быть только 1 больше, чем последний QNum в таблице. Поэтому, когда кто-то «одобряет» несколько вещей (скажем, 3 вещи), он переходит к запросу выше, и он должен быть (скажем, последнее число - 4 в БД) так что это должно быть 5 , 6,7. Код, который у меня сейчас, будет только 5,5,5.
Как бы это сделать, используя тот же CaseNum in .... код выше?
Спасибо!
Является ли 'QNum' внешним ключом? Почему он должен быть уникальным? Можете ли вы дать нам дополнительную информацию о вашей модели данных? – Halcyon
'UPDATE yourTable SET theColumn = theColumn + 1'? – Kermit
Это должно быть только 1 больше, чем последний QNum в таблице. Поэтому, когда кто-то «одобряет» несколько вещей ** (скажем, 3 вещи) **, он переходит к этому запросу, и он должен быть ** (скажем, последнее число - 4) **, поэтому это должно быть ** 5,6,7 **. Код, который у меня сейчас, будет просто делать ** 5,5,5 **. – StealthRT