MySQL vs. SQLite

Ich mag MySQL und ich mag SQLite, jedes hat für gewissen Anwendungsgebiete seine Vorteile. Nein, kommt mir nicht mit Postgres, ich bin kein Datenbankler und schreibe allerhöchstens datenverarbeitende Programme, keine Datenbankprogramme ;-)

Das schöne an SQLite ist einfach die Tatsache, dass man z.B. auf'm Laptop keinen DB-Server (oder wie auch immer ihr den mysqld bezeichnen wollt ;-) laufen lassen muss. Einfach ein Flat File, direkt drauf und SQL-Querys absetzen. Zum Spielen und Testen definitv ziemlich smart.

Aber das hier stößt mir dann doch auf:
svelt@babe:~> sqlite3 new.db SQLite version 3.3.7 Enter ".help" for instructions sqlite> create table date_test ( datum datetime ); sqlite> insert into date_test values ('2006-08-31 9:0:0'); sqlite> insert into date_test values ('2006-08-31 11:0:0'); sqlite> insert into date_test values ('2006-08-31 11:00:00'); sqlite> insert into date_test values ('2006-08-31 09:0:00'); sqlite> insert into date_test values ('2006-08-31 09:00:00'); sqlite> select * from date_test order by datum; 2006-08-31 09:00:00 2006-08-31 09:0:00 2006-08-31 11:00:00 2006-08-31 11:0:0 2006-08-31 9:0:0

Welcher Idiot unterscheidet bitte "9:0:0 Uhr" von "09:00:00 Uhr"? Natürlich ging ich erstmal davon aus, dass mein Programm was flasch macht, aber nein, SQLite war's. Scheiße! Und nein, ich hab bisher nicht nachgesehen, ob das dokumentiert ist. Selbst wenn es das wäre, ist es ein Bug und kein Feature. Myll!

Ach ja, das macht nebenbei MySQL draus (CREATE & INSERTS per copy&paste; an MySQL):

mysql> select * from date_test order by datum; +---------------------+ | datum | +---------------------+ | 2006-08-31 09:00:00 | | 2006-08-31 09:00:00 | | 2006-08-31 09:00:00 | | 2006-08-31 11:00:00 | | 2006-08-31 11:00:00 | +---------------------+

So sollte das auch aussehen. Seufz Doch wieder full blown MySQL-Server auf den Laptop? Hmmm... :-/