私はtwitter tweet ID番号を格納する必要があります。これらの数字は大きく、16桁大きいです。私はそれらを格納するためにMySQLのbigintを使用するwheterに不思議に思っていましたか?または別の方法があります。 bigintは何桁まで扱うことができますか?私は仕様を見てみましたが、それは明確ではありませんでした。そのような大きな数値をmysqlテーブルに格納する際の制限は何ですか?ありがとう!bigint in mysql
答えて
bigintは、-9223372036854775808〜9223372036854775807に符号付き、0〜18446744073709551615に符号なし(the mysql docs)となる64ビットです。 MySQLのマニュアルから
BIGINT [(M)] [UNSIGNED] [ZEROFILL]
大きい整数。署名範囲は、-9223372036854775808 9223372036854775807 に符号なし範囲でIDの生成があなたのコントロール外にあるときに、現在のIDは、BIGINT(64ビット符号付き)に収まる場合でも18446744073709551615
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
これはBIGINTタイプの定義ですが、OPが何を使用すべきか、BIGINTを使用すべきかどうかという質問には答えません。提案のために – thomasrutter
に0でありますテキスト文字列として保存する方が安全です。
さらに大きくなるだけでなく(BIGINTをオーバーフローさせることはほとんどありません)後で同じテーブルの他のシステムから接頭辞とストアIDを追加することもできます。または、将来のAPIが非数値IDを使用する可能性があります。
BigIntは方法です。このための効率的なデータ型は存在しません。 BigIntは2^64までのヌーバーを格納でき、これは約25桁です。
あなたがPHPを使用していると言うように、内部のもののために使用
INT。 PHPの組み込み数値型はマシン依存であり、x86では整数値として32ビットしか使用しないことに注意する必要があります。整数でないか、32ビット範囲外の値は浮動小数点型を使用して格納されます。浮動小数点型は、非常に大きな数値の場合は最後の桁に正確ではないように設計されています。
あなたのアーキテクチャにかかわらずポータブルな大きな整数を許すPHPのライブラリがありますが、idフィールドを常に文字列として保持する方が簡単かもしれません。あなたはそれについて何も計算をしていないので、識別子として扱うだけで大きな問題になるはずはありません。
- 1. Waterline BIGINT type with sails-mysql
- 2. 注文:FIELD in MYSQL
- 3. BigInt変換(gmp Bigint to botan bigint)
- 4. unsigned int mysql in C#
- 5. mysql外部キーでbigintにintカラムを変更する
- 6. PostgresのBigintにBigintをキャストする
- 7. bigintとvarcharを使用したmysqlの 'キャスト'の問題
- 8. Bigint +演算子
- 9. MySQLの "in"コマンド
- 10. MYSQL LIKE IN /マッチングサブストリング
- 11. LIKE concat in MySQL
- 12. ループバックHasAndBelongToMany in MySQL
- 13. MYSQL in ember js
- 14. MySQL JOINとMySQL INのサブクエリー
- 15. MySQLのバイナリ文字列をbigintに変換しますか?
- 16. MySqlにマップされたEctoまたはElixirデータ型BIGINT
- 17. MySQLのBIGINT番号 - SQLの異なる出力及びR
- 18. Cassandra int to bigint
- 19. Javascript bigint division
- 20. SQL Bigint * Decimal
- 21. EJBQL/MySQL RegexesとIN
- 22. MySQL INオペレータ代替
- 23. MYSQLとINのリクエスト
- 24. セディーダ - ñ - in mysqlテーブル
- 25. Grep in MySQL CLI interpreter
- 26. MySQLクエリ:WHERE NOT IN
- 27. Mysqlの使用IN
- 28. エンタープライズアーキテクトダイアグラムフレーム/ダイアグラムリファレンスin mysqlデータベース
- 29. MySQLクエリ "IN" 500,000レコード
- 30. MySQLマルチカラムWHERE IN AND
馬鹿馬鹿ないかもしれませんが、TwitterがIDまたは明日の番号を使用して文字列を使用するかどうかは制御できません。私がデータ型を制御できず、文字列に行くことができなければ、まず安全に行くだろう。 – Wrikken