Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么创建表SQL在MSSQL服务器上工作,而在MySQL上不工作?_Mysql_Sql - Fatal编程技术网

为什么创建表SQL在MSSQL服务器上工作,而在MySQL上不工作?

为什么创建表SQL在MSSQL服务器上工作,而在MySQL上不工作?,mysql,sql,Mysql,Sql,我不熟悉SQL,我就是搞不懂。我很高兴能得到一些帮助。多谢各位 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) ); 这是错误代码: #1064

我不熟悉
SQL
,我就是搞不懂。我很高兴能得到一些帮助。多谢各位

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)
);
这是错误代码:

#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解要使用的正确语法

'发送时间时间戳,
约束pk_消息主键(发送方、接收方,
在第4行

MySQL需要在
varchar
列中指定长度:

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
        )
    );
在MSSQL中,如果未指定,则默认长度为1