我正在尝试更改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';
谢谢!
答案 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
^^^^^^