本文整理汇总了PHP中PMA\libraries\Table::getNonGeneratedColumns方法的典型用法代码示例。如果您正苦于以下问题:PHP Table::getNonGeneratedColumns方法的具体用法?PHP Table::getNonGeneratedColumns怎么用?PHP Table::getNonGeneratedColumns使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PMA\libraries\Table
的用法示例。
在下文中一共展示了Table::getNonGeneratedColumns方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PMA_exportTable
/**
* Export at the table level
*
* @param string $db the database to export
* @param string $table the table to export
* @param string $whatStrucOrData structure or data or both
* @param ExportPlugin $export_plugin the selected export plugin
* @param string $crlf end of line character(s)
* @param string $err_url the URL in case of error
* @param string $export_type the export type
* @param bool $do_relation whether to export relation info
* @param bool $do_comments whether to add comments
* @param bool $do_mime whether to add MIME info
* @param bool $do_dates whether to add dates
* @param string $allrows whether "dump all rows" was ticked
* @param string $limit_to upper limit
* @param string $limit_from starting limit
* @param string $sql_query query for which exporting is requested
* @param array $aliases Alias information for db/table/column
*
* @return void
*/
function PMA_exportTable($db, $table, $whatStrucOrData, $export_plugin, $crlf, $err_url, $export_type, $do_relation, $do_comments, $do_mime, $do_dates, $allrows, $limit_to, $limit_from, $sql_query, $aliases)
{
$db_alias = !empty($aliases[$db]['alias']) ? $aliases[$db]['alias'] : '';
if (!$export_plugin->exportDBHeader($db, $db_alias)) {
return;
}
if (isset($allrows) && $allrows == '0' && $limit_to > 0 && $limit_from >= 0) {
$add_query = ' LIMIT ' . ($limit_from > 0 ? $limit_from . ', ' : '') . $limit_to;
} else {
$add_query = '';
}
$_table = new Table($table, $db);
$is_view = $_table->isView();
if ($whatStrucOrData == 'structure' || $whatStrucOrData == 'structure_and_data') {
if ($is_view) {
if (isset($GLOBALS['sql_create_view'])) {
if (!$export_plugin->exportStructure($db, $table, $crlf, $err_url, 'create_view', $export_type, $do_relation, $do_comments, $do_mime, $do_dates, $aliases)) {
return;
}
}
} else {
if (isset($GLOBALS['sql_create_table'])) {
if (!$export_plugin->exportStructure($db, $table, $crlf, $err_url, 'create_table', $export_type, $do_relation, $do_comments, $do_mime, $do_dates, $aliases)) {
return;
}
}
}
}
// If this is an export of a single view, we have to export data;
// for example, a PDF report
// if it is a merge table, no data is exported
if ($whatStrucOrData == 'data' || $whatStrucOrData == 'structure_and_data') {
if (!empty($sql_query)) {
// only preg_replace if needed
if (!empty($add_query)) {
// remove trailing semicolon before adding a LIMIT
$sql_query = preg_replace('%;\\s*$%', '', $sql_query);
}
$local_query = $sql_query . $add_query;
$GLOBALS['dbi']->selectDb($db);
} else {
// Data is exported only for Non-generated columns
$tableObj = new PMA\libraries\Table($table, $db);
$nonGeneratedCols = $tableObj->getNonGeneratedColumns(true);
$local_query = 'SELECT ' . implode(', ', $nonGeneratedCols) . ' FROM ' . PMA\libraries\Util::backquote($db) . '.' . PMA\libraries\Util::backquote($table) . $add_query;
}
if (!$export_plugin->exportData($db, $table, $crlf, $err_url, $local_query, $aliases)) {
return;
}
}
// now export the triggers (needs to be done after the data because
// triggers can modify already imported tables)
if (isset($GLOBALS['sql_create_trigger']) && ($whatStrucOrData == 'structure' || $whatStrucOrData == 'structure_and_data')) {
if (!$export_plugin->exportStructure($db, $table, $crlf, $err_url, 'triggers', $export_type, $do_relation, $do_comments, $do_mime, $do_dates, $aliases)) {
return;
}
}
if (!$export_plugin->exportDBFooter($db)) {
return;
}
if (isset($GLOBALS['sql_metadata'])) {
// Types of metadata to export.
// In the future these can be allowed to be selected by the user
$metadataTypes = PMA_getMetadataTypesToExport();
$export_plugin->exportMetadata($db, $table, $metadataTypes);
}
}
示例2: moveCopy
//.........这里部分代码省略.........
unset($GLOBALS['sql_indexes']);
}
}
// -----------------------------------------------------------------
// Phase 5: Adding AUTO_INCREMENT.
if (!empty($GLOBALS['sql_auto_increments'])) {
if ($mode == 'one_table' || $mode == 'db_copy') {
$parser = new Parser($GLOBALS['sql_auto_increments']);
/**
* The ALTER statement that alters the AUTO_INCREMENT value.
* @var \SqlParser\Statements\AlterStatement $statement
*/
$statement = $parser->statements[0];
// Changing the altered table to the destination.
$statement->table = $destination;
// Building back the query.
$GLOBALS['sql_auto_increments'] = $statement->build() . ';';
// Executing it.
$GLOBALS['dbi']->query($GLOBALS['sql_auto_increments']);
$GLOBALS['sql_query'] .= "\n" . $GLOBALS['sql_auto_increments'];
unset($GLOBALS['sql_auto_increments']);
}
}
} else {
$GLOBALS['sql_query'] = '';
}
$_table = new Table($target_table, $target_db);
// Copy the data unless this is a VIEW
if (($what == 'data' || $what == 'dataonly') && !$_table->isView()) {
$sql_set_mode = "SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'";
$GLOBALS['dbi']->query($sql_set_mode);
$GLOBALS['sql_query'] .= "\n\n" . $sql_set_mode . ';';
$_old_table = new Table($source_table, $source_db);
$nonGeneratedCols = $_old_table->getNonGeneratedColumns(true);
if (count($nonGeneratedCols) > 0) {
$sql_insert_data = 'INSERT INTO ' . $target . '(' . implode(', ', $nonGeneratedCols) . ') SELECT ' . implode(', ', $nonGeneratedCols) . ' FROM ' . $source;
$GLOBALS['dbi']->query($sql_insert_data);
$GLOBALS['sql_query'] .= "\n\n" . $sql_insert_data . ';';
}
}
PMA_getRelationsParam();
// Drops old table if the user has requested to move it
if ($move) {
// This could avoid some problems with replicated databases, when
// moving table from replicated one to not replicated one
$GLOBALS['dbi']->selectDb($source_db);
$_source_table = new Table($source_table, $source_db);
if ($_source_table->isView()) {
$sql_drop_query = 'DROP VIEW';
} else {
$sql_drop_query = 'DROP TABLE';
}
$sql_drop_query .= ' ' . $source;
$GLOBALS['dbi']->query($sql_drop_query);
// Renable table in configuration storage
PMA_REL_renameTable($source_db, $target_db, $source_table, $target_table);
$GLOBALS['sql_query'] .= "\n\n" . $sql_drop_query . ';';
// end if ($move)
return true;
}
// we are copying
// Create new entries as duplicates from old PMA DBs
if ($what == 'dataonly' || isset($maintain_relations)) {
return true;
}
if ($GLOBALS['cfgRelation']['commwork']) {