<?
function sqldumptable($table)
{
$tabledump = "DROP TABLE IF EXISTS $table;\n";
$tabledump .= "CREATE TABLE $table (\n"; $firstfield = 1; $this->query("SHOW FIELDS FROM $table");
//0->Field
//1->Type
//2->Null
//3->Default
//4->Extra
while ($field = @mysql_fetch_array($this->Query_ID))
{
if (!$firstfield)
{
$tabledump .= ",\n";
}
else
{
$firstfield = 0;
}
$tabledump .= "\t$field[0] $field[1]";
if ($field[2] == "YES")
{
$tabledump .= " ";
}
else
{
$tabledump .= " NOT NULL";
} if (!empty($field["3"]))
{
$tabledump .= " default '$field[3]'";
}
if ($field[4] != "")
{
$tabledump .= " $field[4]";
}
}
if ($this->Auto_Free)
{
$this->free();
}
$this->query("SHOW KEYS FROM $table");
while ($key = @mysql_fetch_array($this->Query_ID))
{
$kname = $key['Key_name'];
if ($kname != "PRIMARY" and $key['Non_unique'] == 0)
{
$kname="UNIQUE|$kname";
}
if(!is_array($index[$kname]))
{
$index[$kname] = array();
}
$index[$kname][] = $key['Column_name'];
}
if ($this->Auto_Free)
{
$this->free();
} while(list($kname, $columns) = @each($index))
{
$tabledump .= ",\n";
$colnames = implode($columns, ","); if($kname == "PRIMARY")
{
$tabledump .= "\tPRIMARY KEY ($colnames)";
}
else
{
if (substr($kname,0,6) == "UNIQUE")
{
$kname = substr($kname,7);
} $tabledump .= "\tKEY $kname ($colnames)"; }
} $tabledump .= "\n);\n\n";
return $tabledump
}
?>
我写的算法,一直用。给你分享!
function sqldumptable($table)
{
$tabledump = "DROP TABLE IF EXISTS $table;\n";
$tabledump .= "CREATE TABLE $table (\n"; $firstfield = 1; $this->query("SHOW FIELDS FROM $table");
//0->Field
//1->Type
//2->Null
//3->Default
//4->Extra
while ($field = @mysql_fetch_array($this->Query_ID))
{
if (!$firstfield)
{
$tabledump .= ",\n";
}
else
{
$firstfield = 0;
}
$tabledump .= "\t$field[0] $field[1]";
if ($field[2] == "YES")
{
$tabledump .= " ";
}
else
{
$tabledump .= " NOT NULL";
} if (!empty($field["3"]))
{
$tabledump .= " default '$field[3]'";
}
if ($field[4] != "")
{
$tabledump .= " $field[4]";
}
}
if ($this->Auto_Free)
{
$this->free();
}
$this->query("SHOW KEYS FROM $table");
while ($key = @mysql_fetch_array($this->Query_ID))
{
$kname = $key['Key_name'];
if ($kname != "PRIMARY" and $key['Non_unique'] == 0)
{
$kname="UNIQUE|$kname";
}
if(!is_array($index[$kname]))
{
$index[$kname] = array();
}
$index[$kname][] = $key['Column_name'];
}
if ($this->Auto_Free)
{
$this->free();
} while(list($kname, $columns) = @each($index))
{
$tabledump .= ",\n";
$colnames = implode($columns, ","); if($kname == "PRIMARY")
{
$tabledump .= "\tPRIMARY KEY ($colnames)";
}
else
{
if (substr($kname,0,6) == "UNIQUE")
{
$kname = substr($kname,7);
} $tabledump .= "\tKEY $kname ($colnames)"; }
} $tabledump .= "\n);\n\n";
return $tabledump
}
?>
我写的算法,一直用。给你分享!
解决方案 »
- MySQL中,求一条SQL语句
- mysql向数据表添加数据问题
- mysql查询问题,总是报错,个人认为语句无错
- Linux英文版中mysql储存显示中文!请教!!
- 在查询条件里限制最小的记录--sql语句怎么写?
- 最近碰到一个问题不知道如何解决?
- 在mysql里我用root用户建了个mydb数据库,请问我怎样可以新建一个用户,并且使该用户拥有新数据库mydb的表有类似develop的权限.
- 关于在linux下启动mysql的问题
- mysql使用问题!!(在线急切等待ing,给达人送100分)
- oracle 中 update table1 id=rownum 在 mysql中怎么实现
- 我有一个中文查询的问题.转码后也不行
- 我怎么在linux上装不上啊mysql?
<?
function _create_table($table)
{
$tabledump = "DROP TABLE IF EXISTS $table;\n";
$tabledump .= "CREATE TABLE $table (\n"; $firstfield = 1; $result = mysql_query("SHOW FIELDS FROM $table");
while ($field = mysql_fetch_array($result))
{
if (!$firstfield)
{
$tabledump .= ",\n";
}
else
{
$firstfield = 0;
}
$tabledump .= "\t$field[0] $field[1]";
if ($field[2] == "YES")
{
$tabledump .= " ";
}
else
{
$tabledump .= " NOT NULL";
} if (!empty($field["3"]))
{
$tabledump .= " default '$field[3]'";
}
if ($field[4] != "")
{
$tabledump .= " $field[4]";
}
}
mysql_free_result($result);
$result1 = mysql_query("SHOW KEYS FROM $table");
while ($key = mysql_fetch_array($result1))
{
$kname = $key['Key_name'];
if ($kname != "PRIMARY" and $key['Non_unique'] == 0)
{
$kname="UNIQUE|$kname";
}
if(!is_array($index[$kname]))
{
$index[$kname] = array();
}
$index[$kname][] = $key['Column_name'];
}
mysql_free_result($result1); while(list($kname, $columns) = @each($index))
{
$tabledump .= ",\n";
$colnames = implode($columns, ","); if($kname == "PRIMARY")
{
$tabledump .= "\tPRIMARY KEY ($colnames)";
}
else
{
if (substr($kname,0,6) == "UNIQUE")
{
$kname = substr($kname,7);
} $tabledump .= "\tKEY $kname ($colnames)"; }
} $tabledump .= "\n);\n\n";
return $tabledump;
}