on 7/25/01 11:46 PM, Dave Watkinson at [EMAIL PROTECTED] wrote:
> By the way, I know I can be explicit by SELECTing each column by name, but
> I'ds rather use a SELECT * fror this partucular instance.
That would be better, of course. :)
Another thing you can do is a mysql_fetch_array() and then reference by
column name which probably won't change as often as the column number. That
is, instead of $row you ask for $row['my_column_name'].
For a specific solution, you'll find one in the MySQL manual and it's
probably applicable to other RDBMS.
How to change the order of columns in a table
The whole point of SQL is to abstract the application from the data
storage format. You should always specify the order in wish you wish to
retrieve your data. For example:
SELECT col_name1, col_name2, col_name3 FROM tbl_name;
will return columns in the order `col_name1', `col_name2', `col_name3',
SELECT col_name1, col_name3, col_name2 FROM tbl_name;
will return columns in the order `col_name1', `col_name3', `col_name2'.
You should *NEVER*, in an application, use `SELECT *' and retrieve the
columns based on their position, because the order in which columns are
returned *CANNOT* be guaranteed over time; A simple change to your
database may cause your application to fail rather dramatically.
If you want to change the order of columns anyway, you can do it as
1. Create a new table with the columns in the right order.
2. Execute `INSERT INTO new_table SELECT fields-in-new_table-order
3. Drop or rename `old_table'
4. `ALTER TABLE new_table RENAME old_table'
Hope it helps.
Webmaster && Open Source Developer
UCLA -> GSE&IS -> ETU
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]