在Cassandra中将int移植到bigint最简单的方法是什么?我想创建一个类型为bigint的新列,然后运行脚本以基本设置该列的值=所有行的int列的值,然后删除原始列并重命名新列。不过,我想知道是否有人有更好的选择,因为这种方法并不适合我。Cassandra将int移植到bigint
0
A
回答
1
您可以ALTER
您的表格,并将您的int
列更改为varint
类型。检查the documentation约ALTER TABLE
和data types compatibility矩阵。
唯一的另一种选择是你说的:添加一个新的列并逐行填充它。删除第一列可以是完全可选的:如果在执行插入时不分配值,则所有内容都将保持原样,新记录不会消耗空间。
0
你可以ALTER
你的表格存储在卡桑德拉bigint与varint
。查看示例 -
[email protected]:demo> CREATE TABLE int_test (id int, name text, primary key(id));
[email protected]:demo> SELECT * FROM int_test;
id | name
----+------
(0 rows)
[email protected]:demo> INSERT INTO int_test (id, name) VALUES (215478936541111, 'abc');
[email protected]:demo> SELECT * FROM int_test ;
id | name
---------------------+---------
215478936541111 | abc
(1 rows)
[email protected]:demo> ALTER TABLE demo.int_test ALTER id TYPE varint;
[email protected]:demo> INSERT INTO int_test (id, name) VALUES (9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 'abcd');
[email protected]:demo> SELECT * FROM int_test ;
id | name
------------------------------------------------------------------------------------------------------------------------------+---------
215478936541111 | abc
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 | abcd
(2 rows)
[email protected]:demo>
相关问题
- 1. Mysql bigint到int
- 2. 将BIGINT UNSIGNED转换为INT
- 3. 将问题移植到VxWorks
- 4. 将pintOS移植到Raspberry-pi
- 5. 将Groovy DSL移植到Clojure
- 6. 将JavaME移植到Android
- 7. 将C++ Builder移植到Qt
- 8. 将Qt4移植到Qt5
- 9. 将DevC++移植到Linux
- 10. 将jquery移植到java
- 11. 将LibPBC移植到Native Client?
- 12. 将Android移植到nanoTesla A8
- 13. 将clock_gettime移植到窗口
- 14. 将jQuery移植到CoffeeScript?
- 15. 将ExtJS3移植到ExtJS4
- 16. 将wxPython移植到SWT/JFace
- 17. 将Perl移植到Python
- 18. 将UITableViewController移植到UITableView
- 19. 将VBA移植到IronPython
- 20. 将VC++ SetWaitableTimer移植到gcc
- 21. 将时区移植到DateTimeZone
- 22. 将项目移植到OpenGL3
- 23. 将Python移植到D:urllib
- 24. 将ESP8266 SDK移植到ESP32
- 25. 将PHP 5.2.14移植到Symbian
- 26. 将JavaScript库移植到Python
- 27. 将Borland C++移植到C#
- 28. 将移植函数从Python移植到C++
- 29. Cassandra DSE到Cassandra DSC迁移
- 30. SQL - 安全地将BIGINT降为INT
我一直在寻找在varint类型,但我无法找出差异的确切内容和BIGINT之间。我想,因为varint映射到一个java BigInteger,这应该足够了,因为我真正关心的是它足够大,我认为BigInteger在技术上没有上限。就Cassandra而言,在空间等方面还有其他差异吗? – cloudwalker