Don't beleive me? Make a file named mysql.sql and feed it into mysql: CREATE TABLE A (ID INT NOT NULL PRIMARY KEY ); CREATE TABLE B (ID INT NOT NULL PRIMARY KEY ,A INT NOT NULL REFERENCES A(ID) ); -- These statements should fail because of -- referential integrity. INSERT INTO B (ID,A) VALUES (5,5); INSERT INTO A (ID) VALUES (5); -- If we got this far, we can already laugh -- at this "database"'s referential integrity. -- Now lets check data type safety. INSERT INTO B (ID,A) VALUES ('A',7); -- MySQL and SQLite both finish these statements -- succesfully, showing that any referal to them -- as database should be enough to make anybody -- knowleadgable die of laugher. -- Now, let us test the contents of both A and B. SELECT * FROM A: SELECT * FROM B; Run this script if you dare on a MySQL server. It will spit on your face: ID 5 ID A 5 5 0 7 Feed it like this: cat mysql.sql | mysql database_name Note that if you copy the script to the clipboard and then paste it back into the MySQL console, it will at least give you a warning when you try to insert 'A' into ID, but it will go on happyly and do it. Better, not not enough. Any database that will let you execute those commands in that order is not fit for a children's toy. MySQL does, Postgres doesn't. Microsoft Access doesn't either, so it is a better database than MySQL. Yes, I know about InnoDB. However, it is not the default table type. Instead, MyISAM piece of junk is. Which means that of all the people who use MySQL, very few actually use InnoDB. So, argument is moot. Besides, to use InnoDB you would need to add a "TYPE=InnoDB" after the closing parenthesis and before the final semicolon. This totally unstandard "feature" (MS style). Besides how does this helps the type check misfeature? It doesn't. Once again you must resort to a nonstandard, nondefault, totally unknown, mode change command to fix it. I would end up calling MySQL a toy, but even that would be WAY too generous. As for the fact of its popularity, if you beleive that fallacious argument you would have to conclude the obviously untrue statement that Microsoft Windows XP is much, much, much better than Linux.
|