MySQL Forums
Forum List  »  MyISAM

Re: System Table definitions for MyISAM
Posted by: Ulf Wendel
Date: April 20, 2005 02:03AM

Ahoy Jan!

> Akin to other RDBMS, I imagine MySQL has System
> Tables which describe various parts of their
> implementation, such as tables which list all the
> columns in the current database. My first


Yes and no. It depends on the version. What comes close to your question is the new INFORMATION_SCHEMA information database that exists as of 5.0.2. Check the manual:
http://dev.mysql.com/doc/mysql/en/information-schema.html

Upto version 4 there have been no such "system tables" except for the privilege system tables contained in the mysql database (http://dev.mysql.com/doc/mysql/en/privileges.html).

> question, then, is whether or not this expectation
> is true. I found online documentation describing
> these for MaxDB but their absence in DuBois's
> Second Edition reference makes me want to check
> it.

MaxDB has some more tables than MySQL. MySQL does not store all system informations in system tables. For example SHOW INNODB STATUS (http://dev.mysql.com/doc/mysql/en/show-innodb-status.html) does not fill any system tables but dumps status informations like a SELECT .

> Second, assuming they exist, is there a table
> which indicates for a column whether or not it is
> an AUTO_INCREMENT?

Learn:
SHOW CREATE TABLE - http://dev.mysql.com/doc/mysql/en/show-create-table.html
DESCRIBE - http://dev.mysql.com/doc/mysql/en/describe.html
Information Schema - COLUMNS - http://dev.mysql.com/doc/mysql/en/columns-table.html

> I'm writing a custom data loader and don't want to
> overwrite AUTO_INCREMENT values with old ones.
> Instead, I am writing code to insert a new row for
> the new values, grab its new value through PHP's
> mysql_insert_id, and pair that new value with the
> old in an auxiliary table. Then, during the load,
> when references to the old AUTO_INCREMENT are
> made, I'm intending to substitute the new one.
>
> I'd prefer not to have a store which maps
> tablenames to AUTO_INCREMENT column names if I can
> help it, so I thought I'd take this opportunity to
> learn a bit more about what's under MySQL's
> petticoats.

I don't get what you're trying to do. But generally speaking check the PHP DB abstraction layers for emulated sequences. Or if you consider MaxDB check the build-in SEQUENCE feature.

Ulf

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: System Table definitions for MyISAM
2670
April 20, 2005 02:03AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.