2016-12-31 3 views
2

Ich bin neu in SQL und ich kann es einfach nicht herausfinden. Ich wäre froh, etwas Hilfe zu bekommen. Vielen Dank.Warum funktioniert das Erstellen von Tabellen-SQL in MSSQL Server, aber nicht in MySQL?

CREATE TABLE messages(
    sender INT REFERENCES users(id), 
    receiver INT REFERENCES users(id), 
    message VARCHAR, 
    sendtime TIMESTAMP, 
    CONSTRAINT pk_messages PRIMARY KEY(sender, receiver, sendtime) 
); 

Dies ist der Fehlercode:

# 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in die Bedienungsanleitung zu Ihrer MariaDB Server-Version für die richtige Syntax entspricht verwenden in der Nähe von

'SENDTIME TIMESTAMP,
CONSTRAINT pk_messages PRIMARY KEY (Sender, Empfänger,'
in Zeile 4

Antwort

3

MySQL Bedürfnisse Länge in der varchar Spalte angegeben werden:

create table messages (
    sender int references users(id), 
    receiver int references users(id), 
    message varchar(100), -- change 100 based on your needs 
    sendtime timestamp, 
    constraint pk_messages primary key (
     sender, 
     receiver, 
     sendtime 
     ) 
    ); 

In MSSQL gibt es eine Standardlänge 1, wenn nicht angegeben.

+0

Danke. Gibt es eine Möglichkeit, unbegrenzte Länge zu speichern? Oder muss ich nur eine wirklich hohe Zahl definieren, wenn ich das möchte? – sevku

+0

Ich habe es gerade ausprobiert und es funktioniert, wenn ich eine Länge vorschlage. Danke vielmals. – sevku

Verwandte Themen