Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As long as mysql can't run ddl statements in a transaction it's worthless as far as I'm concerned.

Also the thing where they (used to?) silently truncate your data when it wouldn't fit a column is absolutely insane. I'll take operational footguns over losing half my data every damn time.



Till v8.0.16 mysql used to accept and then just ignore check constraints

I've never been so offended by a technology as the day I discovered that; it's not a misfeature and its not a bug -- only pure malice could have driven such a decision


Don't forget the 3-byte encoding they invented and call it 'utf8'.


I remember reading the MySQL Gotchas page back in the 2000s and that leaping out as a particularly egregious issue. It fit in with their whole ethos of "databases don't need transactions and users don't need errors" around that time though, which put me off for life.


I'm definitely no fan of mysql. I have, like many others, been scarred by its misfeatures. However, not having DDL in transactions isn't really a barrier for being useful. Oracle doesn't have transactional DDL either, and say what you will about the company, the product itself has proven itself.


But Firebird does have it, too. I find it funny how supposedly top products sometimes lack the most basic features.


The lack of ddl in a transaction is what scared me away too. Having to manually clean up after a failed migration just felt like something I shouldn't be thinking about.


As nice as having DDL in a transaction is, once you get to scale this isn't used as you'll be doing index creation concurrently which cannot be done inside a DDL transaction.


They don't truncate data anymore, unless you enable it in the configuration (it's disabled by default). Invalid data (0000-00-00) is also not accepted anymore.


MySQL is as advanced as Oracle on this topic (DDL in transaction), unless Oracle has changed in the recent years.


Which means equally useless. I agree with him about transactional DDL. Having worked both with it and without it I would never want to go back to MySQL.


I have never said that it was useful :o I work with SQL Server, and I have been always amazed that DDL aren't transactional in Oracle. And it's supposed to be a "serious" database. That and the empty string being equals to NULL, but I think they 180 on that point in the recent years.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: