sqlite3 Datenbank anlegen funktioniert nicht



  • Hallo,
    ich beschäftige mich momentan mit sqlite.
    Ich möchte eine Datenbank anlegen, das funktioniert leider nicht.

    Ich öffne sqlite in dem ich die Datei "sqlite3.exe" öffne.
    Dann erscheint auch die Kommandozeile. hinter "sqlite>" gebe ich nun "sqlite3 testdatenbank.db" ein. Dann erscheint aber nur "...>"

    Was mache ich falsch?

    Danke um jede Hilfe!



  • Hi Ickebins ,

    v ermute mal, dass es nicht reicht, einfach nur den Datenbanknamen zu nennen. Du wirst irgendwie sagen müssen was Du machen willst.
    Ich kenne zwar SQLite nicht, aber ich würde es mal mit "create database testdatenbank.db" oder einfach nur "create database testdatenbank" versuchen.

    Gruß Mümmel



  • sqlite3 nimmt als ersten parameter einen namen (zum erstellen einer neuen db)
    ein SQL statement wird grundsaetzlich durch ein semikolon beendet.

    Das sollte muemmel eigentlich wissen...



  • Hi Cardiac,

    Cardiac schrieb:

    Das sollte muemmel eigentlich wissen...

    Asche auf mein Haupt, auch Götter machen manchmal menschliche Fehler. 😃
    Mein Access ist da übrigens recht tolerant und akzeptiert einen SQL-Befehl auch ohne das Semikolon. Da wird man schon mal schreibfaul, bzw. lässt es bewust weg um anschließend für erweiterungen einfach noch was dranzusetzen, z.B. order by...
    Da brauch ich dann nicht erst noch das Semi weghmachen sondern kann gleich weiterschreiben. War halt vom 1. Studium her auch Ökonom (genauer gesagt Ingenieur-Ökonom). 😉

    Gruß mümmel



  • ich habe das gleiche noch einmal mit einem Semikolon gemacht, also so:

    sqlite3 testdatenbank.db;
    

    Leider funktioniert das auch nicht. Ich bekomme folgendes:
    "Error: near "sqlite3": syntax error"



  • ...
    der erste parameter des aufrufs ist der name.

    also entweder: $ sqlite3 foo.db
    oder

    $ sqlite3
    
    sqlite> .open foo.db
    

    steht aber auch alles in den docs...



  • ... die man bei jedem neuen Programm - auch sqlite ist eins - eventuell mal lesen sollte.



  • Hi,

    also ich mache dies oft wie folgt um eine neue Datenbank anzulegen:

    $ touch database.sqlite3
    $ sqlite3 database.sqlite3
    sqlite> CREATE TABE ...
    .exit
    $
    

    Sollte so gehen. Ich hatte auch schon mal das Problem das SQLite3 nicht direkt eine Datenbank anlegen wollte und erst eine leere Datei benötigte.

    -codejunkie