Mysql 使文本列不为null的正确方法是什么

Mysql 使文本列不为null的正确方法是什么,mysql,sql,Mysql,Sql,我正在尝试在mysql中创建一个表 CREATE TABLE messages ( message_id INT UNSIGNED NOT NULL AUTO_INCREMENT, time_stamp DATETIME NOT NULL, from INT UNSIGNED NOT NULL, to INT UNSIGNED NOT NULL, message_content TEXT NOT NULL, media_id INT, seen BOOLEAN, subject TINYTEXT

我正在尝试在mysql中创建一个表

CREATE TABLE messages (
message_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
time_stamp DATETIME NOT NULL,
from INT UNSIGNED NOT NULL,
to INT UNSIGNED NOT NULL,
message_content TEXT NOT NULL,
media_id INT,
seen BOOLEAN,
subject TINYTEXT NOT NULL,
PRIMARY KEY (message_id),
FOREIGN KEY (from) REFERENCES user (user_id),
FOREIGN KEY (to) REFERENCES user (user_id),
FOREIGN KEY (media_id) REFERENCES digital_media (media_id),
INDEX (time_stamp, from, to, seen));
但我收到了错误信息

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from INT UNSIGNED NOT NULL,
to INT UNSIGNED NOT NULL,
message_content TEXT NOT N' at line 4

我不知道这个错误消息是什么意思,我不明白为什么语法是错误的

to
from
是列的糟糕名称,因为它们是SQL关键字

我认为这会奏效:

CREATE TABLE messages (
    message_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    time_stamp DATETIME NOT NULL,
    from_user_id INT UNSIGNED NOT NULL,
    to_user_id INT UNSIGNED NOT NULL,
    message_content TEXT NOT NULL,
    media_id INT,
    seen BOOLEAN,
    subject TINYTEXT NOT NULL,
    PRIMARY KEY (message_id),
    FOREIGN KEY (from_user) REFERENCES user (user_id),
    FOREIGN KEY (to_user) REFERENCES user (user_id),
    FOREIGN KEY (media_id) REFERENCES digital_media (media_id),
    INDEX (time_stamp, from_user, to_user, seen)
);

没有外键限制。

哈哈,我一发布问题就意识到了这一点,因为stackoverflow中的语法突出显示,谢谢。不过,如果错误消息提到这一点,可能会有所帮助。