У меня есть столбец таблицы с именем sort
, который используется для сортировки строк (1 2 3 ... и т. Д.).
Когда я вставляю новую строку, как я могу автоматически добавить приращение +1
в этом столбце?Как добавить +1 в столбец сортировки
Например, если последнее значение строки 20, новое должно быть 21.
Я попытался установить этот столбец как автоприращение но PHPMYADMIN говорит, что только один столбец может быть auto
(id
в моем случае).
Другим решением было бы вставить новую строку в первую строку со значением 1
в столбце сортировки, но как я мог в этом случае изменить все остальные значения ниже?
Любая помощь?
try {
$stmt = $db->prepare('INSERT INTO ' . $table. ' (title, content, sort) VALUES (:title, :content, :sort)') ;
$stmt->execute(array(
':title' => $title,
':content' => $content,
':sort' => ???,
));
header('Location:admin.php');
exit;
} catch(PDOException $e) {
echo $e->getMessage();
}
Если идентификатор уже является автоматическим приращением, какое дополнительное значение задается столбцом сортировки? –
Вы можете подсчитать существующие записи или получить максимальный существующий вид и использовать его в том же SQL для вставки – ChrisBint
@ piet.t позже У меня есть процедура для изменения значений в столбце 'sort' в соответствии с заданным массивом php, и это невозможно с столбцом 'id', поскольку он имеет первичный ключ. – bonaca