Rouven: SQLite3 Datensätze hinzufügen

Beitrag lesen

Hello,

$sql='
CREATE TABLE News (
    ID INT AUTO_INCREMENT PRIMARY KEY,
    Autor VARCHAR(30) NOT NULL,
    Titel VARCHAR(50) NOT NULL,
    Inhalt TEXT NOT NULL,
    Datum DATETIME NOT NULL
);

ist das Statement durchgelaufen? Ich hatte im Hinterkopf, das SQLite Autoincrements nicht so gerne hat...

INSERT INTO
    News(Autor, Titel, Inhalt, Datum)
VALUES
    ("Ich",
     "Meine erste News",
     "Hiermit teste ich wie man Datensätze in MySQL einfügt",
    NOW());

du gibst hier nur die Werte für die 4 Spalten an, nicht aber für ID. Das ist in Ordnung, insofern der Autoincrement richtig funktioniert, d.h. selbst einen Wert für die ID vergibt.
Tut er das nicht, weil SQLite da kein Fan von ist, dann hast du hier einen Fehler weil dein Primary Key nicht leer sein darf (sprich: NULL).
Generell sei dir der Tipp gegeben, nach jeder Interaktion mit der Datenbank das Ergebnis zu überprüfen (wie du es mit q === false tust und darauf entsprechend zu reagieren - du kannst z.B. sqlite_error_string verwenden um dir eine Beschreibung des Fehlers geben zu lassen.

MfG
Rouven

--
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
I will never understand why Germans feel the need to kill trees  --  Arbeitskollege aus UK zum Thema ob eine Dokumentation elektronisch oder auf Papier ausgeliefert wird