原文地址:http://stackoverflow.com/questions/31880381/cassandra-alter-column-type-which-types-are-compatible

版本: Cassandra 2.2.0

2016年6月1日更新,版本3.0+

Cassandra并不像mysql一样几乎支持几乎所有的类型间转换,下面是一个支持转换的列表

ascii -> blob, text, varchar

bigint -> blob, timestamp, varint

int -> blob, varint

text -> blob, varchar

timestamp -> bigint, blob, varint

timeuuid -> blob, UUID

varchar -> blob, text

注意:

几乎所有类型都可以转换到blob

cqlsh 允许 varint 转换为 date,但是这是bug,不要尝试

alter table user alter user_name type blob;

如果你想曲线救国

我先drop 再 add 这个字段,不行

你会看到提示

InvalidRequest: code=2200 [Invalid query] message="Cannot add a collection with the name pics because a collection with the same name and a different type has already been used in the past"

这是一个bug

https://issues.apache.org/jira/browse/CASSANDRA-9816

最新版本可以试试是否已经修复

2016年6月1日更新

3.0 alpha 1 说已经修复,下面是测试结果:

kevin@cqlsh:test> alter table user drop user_name;
kevin@cqlsh:test> alter table user add user_name int;
kevin@cqlsh:test> select * from user; uid | user_name
-----+----------- (0 rows)
kevin@cqlsh:test> insert into user(uid,user_name) values(1,'kevin');
InvalidRequest: code=2200 [Invalid query] message="Invalid STRING constant (kevin) for "user_name" of type int"
kevin@cqlsh:test> insert into user(uid,user_name) values(1,233);
kevin@cqlsh:test> select * from user; uid | user_name
-----+-----------
1 | 233 (1 rows)
kevin@cqlsh:test> alter table user drop user_name;
kevin@cqlsh:test> alter table user add user_name text;
kevin@cqlsh:test> insert into user(uid,user_name) values(1,'kevin');
kevin@cqlsh:test> select * from user; uid | user_name
-----+-----------
1 | kevin (1 rows)

现在,你可以曲线救国了。。。

最新文章

  1. 简化MSI在WIN10的安装
  2. 插头DP专题
  3. NEC学习 ---- 布局 -三列,左侧自适应
  4. GitLab 的 Developer 角色没有权限提交问题
  5. 计算机学院大学生程序设计竞赛(2015’12)Polygon
  6. 使用系统UITabbarItem自定义图片显示原本颜色和自定义文字颜色
  7. Java打印温度转换表
  8. 在jsp中运用ajax实现同一界面不跳转处理事件
  9. asp.net请求流程
  10. swift排序算法和数据结构
  11. 【从无到有】JavaScript新手教程——1.简介、变量和运算符
  12. Bitbucket导入项目
  13. easyUI 创建有复选框的table.datagrid
  14. intelliJ IDEA之使用svn或git管理代码
  15. 这里包含几乎所有的xcode正式版本
  16. xtrabackup迁移单独一张INNODB表
  17. Vue.js 2.x中事件总线(EvevntBus)及element-ui中全屏loading的使用
  18. Docker配置mysql互为主从
  19. Hexo博客系列(二)-在多台机器上利用Hexo发布博客
  20. Linux /etc/cron.d作用(转自 定时任务crontab cron.d)

热门文章

  1. 能成为一名合格的Java架构师
  2. 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)(Finchley版本)
  3. DQL-常见的函数
  4. django, CentOS7+nginx(apache)+mod_wsgi+Python+Django
  5. Swift_协议
  6. python中 的继承
  7. linux下的学习之路下的小困难
  8. SQL语言简单总结
  9. mysql 导出行数据到txt文件,指定字符分割
  10. Fax Helper