0

重新访问 MySQL,并尝试更改表的结构。我想将两行从 varchar(30) 更改为更高。

我用谷歌搜索了它,并尝试了似乎正确的语句,但出现语法错误:

ALTER TABLE 'compdetails' CHANGE 'compName' varchar(60) not null;

然而,这个语句给了我一个语法错误。我也试过在表格/列名周围没有''但没有任何运气。

“错误 2064 (42000):您的 SQL 语法有错误......”

谁能唤起我的记忆?

4

3 回答 3

1

就这样:

ALTER TABLE 'compdetails' CHANGE compName compName varchar(60) not null;
于 2011-02-15T10:27:50.173 回答
1
ALTER TABLE `compdetails` MODIFY COLUMN `compName` varchar(60) not null;
于 2011-02-15T10:28:01.477 回答
1

首先,如果要引用表名,则需要使用反引号而不是单引号。单引号仅用于字符串文字。

其次,当您想要重命名列时使用 CHANGE,而 MODIFY 允许您更改列定义而不重命名它。所以你应该使用:

ALTER TABLE compdetails MODIFY compName varchar(60) NOT NULL;

在线MySQL 文档非常好,我鼓励您在遇到语法问题时检查它。

于 2011-02-15T10:33:48.527 回答