Allow disabling auto_increment value export

This commit is contained in:
Jakub Vrana 2010-06-03 14:15:23 +02:00
parent 38ad832153
commit fe53964c5f
5 changed files with 15 additions and 5 deletions

View file

@ -828,11 +828,16 @@ if (!defined("DRIVER")) {
/** Get SQL command to create table /** Get SQL command to create table
* @param string * @param string
* @param bool
* @return string * @return string
*/ */
function create_sql($table) { function create_sql($table, $auto_increment) {
global $connection; global $connection;
return $connection->result("SHOW CREATE TABLE " . table($table), 1); $return = $connection->result("SHOW CREATE TABLE " . table($table), 1);
if (!$auto_increment) {
$return = preg_replace('~ AUTO_INCREMENT=[0-9]+~', '', $return); //! skip comments
}
return $return;
} }
/** Get SQL command to truncate table /** Get SQL command to truncate table

View file

@ -521,9 +521,12 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
return true; return true;
} }
function create_sql($table) { function create_sql($table, $auto_increment) {
global $connection; global $connection;
return $connection->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = " . $connection->quote($table)); return ($auto_increment || $table != "sqlite_sequence" //! remove also INSERT
? $connection->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = " . $connection->quote($table))
: ""
);
} }
function truncate_sql($table) { function truncate_sql($table) {

View file

@ -175,6 +175,7 @@ echo ($jush == "sqlite" ? "" : "<tr><th>" . lang('Database') . "<td>" . html_sel
. (support("event") ? checkbox("events", 1, $checked, lang('Events')) : "") . (support("event") ? checkbox("events", 1, $checked, lang('Events')) : "")
); );
echo "<tr><th>" . lang('Tables') . "<td>" . html_select('table_style', $table_style, $row["table_style"]) echo "<tr><th>" . lang('Tables') . "<td>" . html_select('table_style', $table_style, $row["table_style"])
. checkbox("auto_increment", 1, $row["table_style"], lang('Auto Increment'))
. (support("trigger") ? checkbox("triggers", 1, $row["table_style"], lang('Triggers')) : "") . (support("trigger") ? checkbox("triggers", 1, $row["table_style"], lang('Triggers')) : "")
; ;
echo "<tr><th>" . lang('Data') . "<td>" . html_select('data_style', $data_style, $row["data_style"]); echo "<tr><th>" . lang('Data') . "<td>" . html_select('data_style', $data_style, $row["data_style"]);

View file

@ -17,7 +17,7 @@ function dump_table($table, $style, $is_view = false) {
dump_csv(array_keys(fields($table))); dump_csv(array_keys(fields($table)));
} }
} elseif ($style) { } elseif ($style) {
$create = create_sql($table); $create = create_sql($table, $_POST["auto_increment"]);
if ($create) { if ($create) {
if ($style == "DROP+CREATE") { if ($style == "DROP+CREATE") {
echo "DROP " . ($is_view ? "VIEW" : "TABLE") . " IF EXISTS " . table($table) . ";\n"; echo "DROP " . ($is_view ? "VIEW" : "TABLE") . " IF EXISTS " . table($table) . ";\n";

View file

@ -12,6 +12,7 @@ Schemas, sequences and types support (PostgreSQL)
Autofocus username in login form Autofocus username in login form
Disable spellchecking in SQL textareas Disable spellchecking in SQL textareas
Display auto_increment value of inserted item Display auto_increment value of inserted item
Allow disabling auto_increment value export
Link table names in SQL queries Link table names in SQL queries
Japanese translation Japanese translation
Defer table information in database overview to JavaScript (performance) Defer table information in database overview to JavaScript (performance)