为了工作,我的 CREATE TABLE 中缺少什么? mySQL 8.X

What is missing in my CREATE TABLE in order to work? mySQL 8.X

我以前使用 mySQL 5.x 编码,现在我切换到 8.x 版本,我很困惑。 这个短代码有什么问题?

[我的代码截图]

错误信息

"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 'rank VARCHAR(50) NOT NULL, discipline VARCHAR(1), yr_start INT(11), ' at line 3"

rank is now a MySQL reserved word。它用于 rank() window 函数

改用 ranking 等变体。

这些功能是在 MySQL 8.

中引入的

如果由于某种原因更改架构不切实际,您也可以使用带引号的标识符。默认情况下在 MySQL 中使用反引号字符,例如:

create table foo (
   `rank` varchar(50)
) 

如果您想在不修改应用程序逻辑的情况下从旧 mysql 版本移植预先存在的模式,应该可以使用。