0

FacebookのグラフAPIを見ると、すべてのオブジェクトが同じIDスペースを共有しているように見え、異なるテーブルにある場合でもすべてのIDが一意です。

これを処理するMySQLの機能はありますか?(そうでない場合は、実装方法の高レベルのアイデア?)

4

3 に答える 3

3

あなたはチェックアウトしたいかもしれませんUUID()。IDが衝突しないように、グローバルに一意のIDを返します。

整数形式に変換するには、次のことができます

UNHEX(REPLACE(UUID(),'-',''))

BINARY(16)列 に格納するため。

(整数に変換するためのソース:MySQLリファレンスでのNicholas Sherlockのコメント)

于 2012-07-28T01:32:31.560 に答える
0

マスターデータベースサーバーが1つしかない場合は、整数の自動インクリメント主キーとオブジェクトタイプ列を持つObjectというテーブルを作成できます。オブジェクトを作成するたびに、最初にこのObjectテーブルに行を挿入し、IDを取得してから、そのIDを使用して、オブジェクト情報を保持するテーブルに行を挿入します。したがって、イベントを作成するには:

INSERT INTO Object (object_type) VALUES ('Event')

最後の挿入IDを取得します。たとえば、12345だとします。

INSERT INTO Event (id, name, location) VALUES (12345, 'Cookout', 'My back yard')
于 2012-07-28T01:36:05.560 に答える
0

または、単一のシーケンスを使用してID値を駆動します。

于 2012-07-28T01:40:00.510 に答える