Jan: MySQL 2 SQLite

Hallo,

ich migriere gerade von MySQL nach SQLite, dabei hab ich folgendes Problem:

CREATE TABLE test
(
  id\_text Int NOT NULL,
  id\_lang Int NOT NULL,
  name Varchar(45),
  textblock Longtext
);

ALTER TABLE test ADD PRIMARY KEY  (id\_text,id\_lang);

Funktioniert in MySQL problemlos! Aber wie müsste das in SQLite aussehen?

Gruß Jan

  1. Hallo

    ich migriere gerade von MySQL nach SQLite, dabei hab ich folgendes Problem:

    CREATE TABLE test
    (
      id\_text Int NOT NULL,
      id\_lang Int NOT NULL,
      name Varchar(45),
      textblock Longtext
    );

    ALTER TABLE test ADD PRIMARY KEY  (id\_text,id\_lang);

    Das Handbuch sollte weiterhelfen:
    SQL Features That SQLite Does Not Implement
    Datatypes in SQLite

    Heile Deine Anweisung von der Backslashitis.
    Beachte, dass bei SQLite anders maskiert wird.

    Freundliche Grüße

    Vinzenz

    1. hmm, die Datentypen hat er problemlos angenommen:

      sqlite> .schema
      CREATE TABLE test
      (
        id\_text Int NOT NULL,
        id\_lang Int NOT NULL,
        name Varchar(45),
        textblock Longtext
      );

      das Problem gibts eher bei dem ALTER

      sqlite> ALTER TABLE test ADD PRIMARY KEY(id\_text,id\_lang);
      SQL error: near "PRIMARY": syntax error
      sqlite> ALTER TABLE "test" ADD PRIMARY KEY  ("id_text","id_lang");
      SQL error: near "PRIMARY": syntax error

      Der Primärschlüssel setzt sich nämlich aus den zwei Attributen zusammen.

      Gruß Jan

      1. Hallo Jan,

        das Problem gibts eher bei dem ALTER

        sqlite> ALTER TABLE test ADD PRIMARY KEY(id\_text,id\_lang);
        SQL error: near "PRIMARY": syntax error

        ja sicher, das steht im ersten verlinkten Handbuchabschnitt.

        Der Primärschlüssel setzt sich nämlich aus den zwei Attributen zusammen.

        Du musst deswegen den Primärschlüssel selbstverständlich im CREATE-TABLE-Statement erstellen.

        Du willst von MySQL auf SQLite migrieren. Du wirst nicht darum herumkommen,
        Dich intensiv mit der SQLite-Dokumentation auseinanderzusetzen.

        Freundliche Grüße

        Vinzenz

        1. Du willst von MySQL auf SQLite migrieren. Du wirst nicht darum herumkommen,
          Dich intensiv mit der SQLite-Dokumentation auseinanderzusetzen.

          hehe, schon dabei ;) Habs heut Mittag schon in das CREATE Statement eingebaut, nun klappt es wunderbar. Das mit den FK's war mir klar ...

          Trotzdem Danke!

          Gruß Jan