On Fri, Oct 07, 2005 at 10:45:06AM -0400, Robert Treat wrote:
> On Thursday 06 October 2005 17:31, Michael Fuhr wrote:
> >
> > Also, notice the "TYPE innodb" clause of the CREATE TABLE
> > statement. The default table type in MySQL is MyISAM, which
> > doesn't support foreign key contraints at all, but which will
> > silently allow you to declare them. If you haven't changed the
> > default table type, then you must remember to specify that you
> > want an InnoDB table, or else your REFERENCES clauses are nothing
> > but documentation.
>
> I'm working on porting mediawiki to postgresql and was really
> puzzled by the following:
>
> CREATE TABLE trackbacks (
> tb_id INTEGER AUTO_INCREMENT PRIMARY KEY,
> tb_page INTEGER REFERENCES page(page_id) ON DELETE CASCADE,
> tb_title VARCHAR(255) NOT NULL,
> tb_url VARCHAR(255) NOT NULL,
> tb_ex TEXT,
> tb_name VARCHAR(255),
> INDEX (tb_page)
> );
>
> I couldn't figure out why they weren't specifying type = innodb for
> the table, but then figured they must have declared it some place
> else or something... but now I see that even that wouldn't work.
> Makes you wonder if my$ql users realize this behavior or not....
As a rule, they don't expect the database to handle any data
integrity. This is a quite reasonable (lack of) expectation from that
product. The trouble starts to happen when they run across DBMSs that
*can* do this.
> I would have to guess not because otherwise why would you use this
> type of syntax at all?
Right in one.
> (And people claim my$ql is eaiser to use? I still don't get that
> one)
I was confused, too. Then it dawned on me. When people say, "MySQL
is easier to use," what they really mean is, "I started from nothing.
I worked hard getting used to these quirks, and I'll be *damned* if
I'll consider all that painful effort wasted and start over." It
reminds me a lot of the kind of mental gymnastics that cause people
not to call the law when they realize they've been taken in by a con
artist. In both cases, the emotional investment in not being wrong on
an important matter is too big.
Cheers,
D
--
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778
Remember to vote!