16

MySQL データベースに MAC アドレスを格納するために使用するのに最適なフィールド タイプは何ですか? また、特定の区切り記号 (コロンまたはダッシュ) を付けて保存する必要がありますか、それとも区切り記号なしで保存する必要がありますか?

4

3 に答える 3

31

bigint unsigned (8 バイト) を使用すると、次のことができます。

select hex(mac_addr) from log;

insert into log (mac_addr) values (x'000CF15698AD');
于 2010-12-22T23:44:12.490 に答える
2

ここを見てください。一般的には CHAR(12) が適切ですが、詳細は必要に応じて異なります。または、macaddr タイプが組み込まれている PostgreSQL を使用します。

于 2010-12-22T23:17:10.537 に答える
1

MySQL がユーザー定義の拡張機能をサポートしておらず、任意の拡張機能やプラグイン (ストレージ エンジンのみ) をサポートしていないように見える場合、最善の策は、標準表記法 (たとえば、コロン区切り記号付き)、または小さな BLOB を格納し、バイトを直接格納します。ただし、文字列表記は、ほとんどのアプリケーションにとってより使いやすいものになります。

カスタムタイプをサポートせずにデータの有効性を強制する唯一の方法であるため、それが MAC アドレスであることを検証するトリガーと組み合わせることをお勧めします。

于 2010-12-22T23:23:13.017 に答える