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
* @param string
* @param bool
* @return string
*/
function create_sql($table) {
function create_sql($table, $auto_increment) {
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

View file

@ -521,9 +521,12 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
return true;
}
function create_sql($table) {
function create_sql($table, $auto_increment) {
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) {

View file

@ -175,6 +175,7 @@ echo ($jush == "sqlite" ? "" : "<tr><th>" . lang('Database') . "<td>" . html_sel
. (support("event") ? checkbox("events", 1, $checked, lang('Events')) : "")
);
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')) : "")
;
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)));
}
} elseif ($style) {
$create = create_sql($table);
$create = create_sql($table, $_POST["auto_increment"]);
if ($create) {
if ($style == "DROP+CREATE") {
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
Disable spellchecking in SQL textareas
Display auto_increment value of inserted item
Allow disabling auto_increment value export
Link table names in SQL queries
Japanese translation
Defer table information in database overview to JavaScript (performance)