You had to be careful with MySQL back then as constraints were syntactic sugar but not enforced. PostgreSQL was indeed much tougher to manage but more full-featured.
Really, you've always had to be careful with MySQL. It really was the PHP of RDBMSs.
The silent "SHOW WARNINGS" system, nonsense dates like Feb 31, implicit type conversions like converting strings to 0s, non-deterministic group by enabled by default, index corruption, etc.
Not just constraints, transactions were also a no-op. The MyISAM engine is still available in modern versions if you want to experience this, it's just not default anymore.
Yep, I've had to work with a MyISAM project with no transactions - it's a reasonably simple system thank goodness but a little scary all the same (and lots of boilerplate to deal with partial failures).
I love Postgres in 2026, but it really was not a viable enterprise option before 2010. MySQL had decent binlog replication starting in 2000 which made up for a lot of the horrible warts it had.
Not to mention there was Percona, and both Google & Facebook contributed a number of patches that made monitoring MySQL top notch (such as finding slow running queries, unused indexes, locks etc.).