note 50270 added to function.pg-field-size
| From: | php at tribun dot de | Date: | Wed, 23 Feb 2005 13:48:18 +0000 |
| Subject: | note 50270 added to function.pg-field-size | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-85429@lists.php.net to get a copy of this message | ||
function get_create_syntax( $table )
{
$qry = "
SELECT *
FROM $table
LIMIT 1
";
$res = pg_query( $qry );
$row = pg_fetch_assoc( $res );
$create = "CREATE TABLE $table \n(\n";
$item = array();
for( $i = 0; $i < count( $row ); $i++ )
{
$name = pg_field_name( $res, $i );
$type = pg_field_type( $res, $i );
$size = pg_field_size( $res, $i );
$item[$i] = '"'.$name.'" '.$type;
$qry = "
SELECT a.atttypmod AS size,
a.attnotnull AS notnull
FROM pg_attribute AS a,
pg_class AS c
WHERE c.relname = '$table'
AND a.attrelid = c.oid
AND a.attname = '$name'
";
$res2 = pg_query( $qry );
$out = pg_fetch_object( $res2 );
if( $out -> size != -1 )
{
$item[$i] .= '('.( $out -> size - 4 ).')';
}
if( $out -> notnull == 't' )
$item[$i] .= ' NOT';
$item[$i] .= ' NULL';
}
$create .= implode( ",\n", $item ) ."\n);";
return $create;
}
----
Manual Page -- http://www.php.net/manual/en/function.pg-field-size.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+50270
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+50270&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+50270&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+50270&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+50270&report=yes&reason=useless
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+50270&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+50270&report=yes
Search -- http://master.php.net/manage/user-notes.php