Ich habe eine Tabellenspalte mit dem Namen sort
, die zum Sortieren von Zeilen verwendet wird (1 2 3 ... usw.).
Wenn ich eine neue Zeile einfüge, wie kann ich automatisch ein Inkrement +1
in dieser Spalte hinzufügen?So fügen Sie +1 in einer Sortierspalte hinzu
Zum Beispiel, wenn die letzte Zeile Wert 20 ist, sollte der neue sein 21.
Ich habe versucht, diese Spalte als Autoinkrement zu setzen, sondern phpMyAdmin sagt, dass nur eine Spalte auto
sein kann (id
in meinem Fall).
Eine andere Lösung wäre, die neue Zeile als erste Zeile einzufügen, mit dem Wert 1
in der Sortierspalte, aber wie könnte ich in diesem Fall alle anderen Werte unten ändern?
Irgendwelche Hilfe?
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();
}
Wenn die ID bereits auto-increment ist, welcher zusätzliche Wert wird von der Sortierspalte angegeben? –
Sie könnten die vorhandenen Datensätze zählen oder Max der vorhandenen Sortierung und verwenden Sie diese in der gleichen SQL zu einfügen – ChrisBint
@ piet.t später Ich habe eine Prozedur zum Ändern von Werten in der Spalte "Sortieren" nach einem bestimmten PHP-Array, und es ist nicht möglich mit 'ID' Spalte, weil es den Primärschlüssel hat. – bonaca