在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. 將數據從cassandra遷移到cassandra
- 4. 將Java移植到AS3
- 5. MONO:將.net移植到Linux。
- 6. 將jQuery移植到CoffeeScript?
- 7. 將ECLiPSe移植到Prolog
- 8. 將ExtJS3移植到ExtJS4
- 9. 將djangorestframework移植到2.X.X
- 10. 將pintOS移植到Raspberry-pi
- 11. 將jquery移植到java
- 12. 將LibPBC移植到Native Client?
- 13. 將wxPython移植到SWT/JFace
- 14. 將debian移植到leopord dm368
- 15. 將achartengine移植到Xamarin
- 16. 將Ruby移植到Python
- 17. 將Qt4移植到Qt5
- 18. 將sched.h移植到Windows中
- 19. 將時區移植到DateTimeZone
- 20. 將JVM移植到MINIX
- 21. 將isnan移植到C++ 11
- 22. 將eCos移植到i386
- 23. 將Groovy DSL移植到Clojure
- 24. 將PHP 5.2.14移植到Symbian
- 25. 將JavaScript庫移植到Python
- 26. 將Perl移植到Python
- 27. 將Android移植到BB 10
- 28. 將gitlab移植到gogs
- 29. 將clock_gettime移植到窗口
- 30. 將Android 5.1.1移植到RaspbrryPi2
我一直在尋找在varint類型,但我無法找出差異的確切內容和BIGINT之間。我想,因爲varint映射到一個java BigInteger,這應該足夠了,因爲我真正關心的是它足夠大,我認爲BigInteger在技術上沒有上限。就Cassandra而言,在空間等方面還有其他差異嗎? – cloudwalker