【发布时间】:2013-03-31 00:55:26
【问题描述】:
这是一些简单的代码,但我就是不知道为什么我不能用这个词作为表格的实体
CREATE TABLE IF NOT EXISTS users(
key INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
);
我意识到如果我使用 key 不能使用“key”,mysql 会要求我检查语法,但如果我使用“id”或其他任何形式,则会创建表。
有人知道我如何将实体名称创建为键吗?不是什么重要的事情,因为我可以只使用 id 而不是 key,但是因为我发现了这个错误,所以我不知道是否有办法让它工作。
【问题讨论】:
-
我强烈建议您找到比 SQL 保留字更有意义的名称。也许
UserId是个好名字——对于不经意的观察者来说,它的信息量要大得多。 -
@GordonLinoff 你的评论太天真了。我上次统计时,各种数据库系统保留了一千多个字。在设计名称时,它是否可能与保留字冲突并不明显。
-
@BasilBourque 。 . .
KEY是 SQL 语法的一部分——想想PRIMARY KEY。认为在 SQL 中创建表的人应该知道基本的句法元素并不是天真的想法。