无法在 mariadb 中创建 varchar 列

Can not create varchar column in mariadb

此代码不运行:

alter table States
add Key varchar(400) character set utf8 not null

错误:

Error in query (1064): Syntax error near 'varchar(400) character set utf8 not null' at line 2

这段代码有什么问题?

Key 是 MySql 中的保留关键字(因此在 MariaDB 中也是如此),因此要将其用作标识符,您必须将其括在反引号中。这将做到:

alter table `States` add `Key` varchar(400) character set utf8 not null

我还在 States 中加上了反引号,只是为了保持一致性,尽管这并不是真正需要的。

一个选项是为新列使用另一个名称,以避免在以后涉及它的查询中出现同样的问题。