Skip to main content

Tabellen

Tabelle anlegen

CREATE TABLE table_name (
  id INTEGER PRIMARY KEY,
  name TEXT
);

Boolean-Spalte

SQLite kennt keinen eigentlichen Boolean-Spaltentyp.

CREATE TABLE table_name (
  name       TEXT,
  is_ready   INTEGER NOT NULL DEFAULT 0 CHECK (is_ready IN(0,1))
);

Zeitstempel-Spalten

CREATE TABLE table_name (
  id          INTEGER PRIMARY KEY,
  name        TEXT,
  created_at  TEXT DEFAULT CURRENT_TIMESTAMP,
  updated_at  TEXT
);

Wie in den meisten anderen Datenbanken auch, muss der Wert für den Aktualisierungszeitstempel über einen Trigger gesetzt werden:

CREATE TRIGGER tub_table_name_ts AFTER UPDATE
ON table_name
BEGIN
	UPDATE table_name SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
END;

Da der AFTER UPDATE-Trigger den geänderten Datensatz über die ID sucht, ist es wichtig, dass die Tabelle über einen Primärschlüssel verfügt.