Cassandra 类型转换限制
原文地址: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)
现在,你可以曲线救国了。。。
最新文章
- 简化MSI在WIN10的安装
- 插头DP专题
- NEC学习 ---- 布局 -三列,左侧自适应
- GitLab 的 Developer 角色没有权限提交问题
- 计算机学院大学生程序设计竞赛(2015’12)Polygon
- 使用系统UITabbarItem自定义图片显示原本颜色和自定义文字颜色
- Java打印温度转换表
- 在jsp中运用ajax实现同一界面不跳转处理事件
- asp.net请求流程
- swift排序算法和数据结构
- 【从无到有】JavaScript新手教程——1.简介、变量和运算符
- Bitbucket导入项目
- easyUI 创建有复选框的table.datagrid
- intelliJ IDEA之使用svn或git管理代码
- 这里包含几乎所有的xcode正式版本
- xtrabackup迁移单独一张INNODB表
- Vue.js 2.x中事件总线(EvevntBus)及element-ui中全屏loading的使用
- Docker配置mysql互为主从
- Hexo博客系列(二)-在多台机器上利用Hexo发布博客
- Linux /etc/cron.d作用(转自 定时任务crontab cron.d)
热门文章
- 能成为一名合格的Java架构师
- 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)(Finchley版本)
- DQL-常见的函数
- django, CentOS7+nginx(apache)+mod_wsgi+Python+Django
- Swift_协议
- python中 的继承
- linux下的学习之路下的小困难
- SQL语言简单总结
- mysql 导出行数据到txt文件,指定字符分割
- Fax Helper