I need to rant, I just wasted a couple of hours on stupid crap. I am doing this project for a client and I am using MySQL. I chose InnoDB tables because they support transactions. Along the way I added a table to the system but forgot to specify InnoDB so it used the default (MyISAM). Little did I know that when I ran a bunch of stuff assuming it would never go into the db because I never committed the transaction. MySQL is so brain-dead that it can't even error out when you go into a transaction and do some queries on some tables that don't support transactions.
Next, I'm inserting a bunch of keywords into a table. The column type is VARCHAR(32) or something. I inserted "LPNs" and "lpns" and then later searched for "lpns" and it returns TWO ROWS:
select * from keyword where keyword='lpns';
That is straight moronic. I don't understand why in hell it would store the cases and display the cases but when you do a WHERE with an equals sign it thinks they are the same.
Anyway, it's been a really long time since I've used MySQL and I figured it was better now but clearly I was wrong. Yeah it supports transactions now (but they're busted) and this case sensitivity/case insensitivity cluster**** is just a joke.
Next, I'm inserting a bunch of keywords into a table. The column type is VARCHAR(32) or something. I inserted "LPNs" and "lpns" and then later searched for "lpns" and it returns TWO ROWS:
select * from keyword where keyword='lpns';
Code:
+------------+---------+--------+ | keyword_id | keyword | source | +------------+---------+--------+ | 8041 | lpns | foolio | | 8042 | LPNs | foolio | +------------+---------+--------+
That is straight moronic. I don't understand why in hell it would store the cases and display the cases but when you do a WHERE with an equals sign it thinks they are the same.
Anyway, it's been a really long time since I've used MySQL and I figured it was better now but clearly I was wrong. Yeah it supports transactions now (but they're busted) and this case sensitivity/case insensitivity cluster**** is just a joke.