我无法弄清楚mysql的alter column语法

时间:2015-07-05 03:15:43

标签: php mysql

我正在尝试更改MYSQL中列的数据类型。奇怪的是,我能在互联网上找到的所有解决方案,包括stackoverflow,都会让我产生语法问题。我不太了解sql,我只是解决了解决其他解决方案的问题,但这一次,即使标准解决方案在https://sql.treasuredata.com/和我自己的上下文中显示语法错误。

ALTER TABLE `flashes_finnish`
ALTER COLUMN `learnt` INTEGER

和...

ALTER TABLE t1 MODIFY col1 BIGINT UNSIGNED DEFAULT 1 COMMENT 'my column';

谢谢!

2 个答案:

答案 0 :(得分:0)

将列a从INTEGER更改为TINYINT NOT NULL(保持名称相同),并将列b从CHAR(10)更改为CHAR(20),并将其从b重命名为c:

ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

您可以参考this page了解更多示例。如果您仍然有错误,请发布有关错误消息和表格结构的更多信息。

答案 1 :(得分:0)

你的第二个语句似乎在语法上对MySQL有效,但对于ApacheHive则没有。

第一个声明,ALTER之前的关键字COLUMN应替换为关键字MODIFY,例如

  ALTER TABLE `flashes_finnish` MODIFY COLUMN `learnt` INTEGER
                                ^^^^^^