Frage

Ich bin sehr neu in SQL und habe Probleme beim Erstellen einer Tabellenstruktur.

Ich möchte eine Tabelle mit vier Spalten erstellen - id,text,date und replace.Das Problem ist, dass dies mir einen Fehler in MySQL gibt, denke ich, weil die Wörter TEXT und DATE sind auch Namen für Datentypen und REPLACE ist ein anderer Begriff, der in SQL verwendet wird, so dass MySQL verwirrt ist, was meine Spaltennamen sein sollen oder nicht erkennt, dass die Namen, die ich angegeben habe, tatsächliche Namen sind.Gibt es eine Möglichkeit, dies zu umgehen, um die gewünschten Spaltennamen zu erhalten, ohne die Spalten etwas anderes aufrufen und dann nach der Erstellung manuell wieder ändern zu müssen?

Hier ist mein SQL:

CREATE TABLE message (
    id INT UNIQUE AUTO_INCREMENT NOT NULL,
    text TEXT,
    date INT,
    replace INT DEFAULT 0
);

Und der Fehler, den ich bekomme:

#1064 - Sie haben einen Fehler in Ihrer SQL-Syntax;überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, auf die richtige Syntax in der Nähe von 'replace INT DEFAULT 0)' in Zeile 5

CREATE TABLE message(
    id INT UNIQUE AUTO_INCREMENT NOT NULL ,
    TEXT TEXT,
    DATE INT,
    REPLACE INT DEFAULT 0
);
War es hilfreich?

Lösung

Die allgemeine Regel ist, dass Sie diese Schlüsselwörter nicht verwenden, sondern sich etwas anderes als 'Text' für Ihren Feldnamen einfallen lassen.Wenn Sie müssen, verwenden Sie ` (Back-Tick) um den Spaltennamen, um SQL mitzuteilen, dass es sich um einen Spaltennamen handelt und nicht, was das Schlüsselwort bedeutet.Ich empfehle, Ihre Spalten auch nicht 'from', 'select' und 'where' aufzurufen;)

Andere Tipps

CREATE TABLE message (
    `id` INT UNIQUE AUTO_INCREMENT NOT NULL,
    `text` TEXT,
    `date` INT,
    `replace` INT DEFAULT 0
);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top