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