SQLite: Allow setting auto increment for empty tables

This commit is contained in:
Jakub Vrana 2019-08-21 11:44:57 +02:00
parent 48f33f6255
commit 903de0e889
2 changed files with 7 additions and 0 deletions

View file

@ -482,6 +482,7 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
}
function alter_table($table, $name, $fields, $foreign, $comment, $engine, $collation, $auto_increment, $partitioning) {
global $connection;
$use_all_fields = ($table == "" || $foreign);
foreach ($fields as $field) {
if ($field[0] != "" || !$field[1] || $field[2]) {
@ -512,7 +513,12 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
return false;
}
if ($auto_increment) {
queries("BEGIN");
queries("UPDATE sqlite_sequence SET seq = $auto_increment WHERE name = " . q($name)); // ignores error
if (!$connection->affected_rows) {
queries("INSERT INTO sqlite_sequence (name, seq) VALUES (" . q($name) . ", $auto_increment)");
}
queries("COMMIT");
}
return true;
}

View file

@ -4,6 +4,7 @@ MySQL: Allow editing rows identified by negative floats (bug #695)
MySQL: Skip editing generated columns
SQLite: Quote strings stored in integer columns in export (bug #696)
SQLite: Handle error in altering table (bug #697)
SQLite: Allow setting auto increment for empty tables
Adminer 4.7.2 (released 2019-07-18):
Do not attempt logging in without password (bug #676)