JSONデータをMySQLテーブル行に保存することはできますか?私はmysqlデータベースに配列を格納する必要があります。問題は、各ユーザーに必要な列の数がわからないことです。だから私は例のためのarray
という名前の行にJSONを格納すると思った。これが最善の方法ですか?MySQLデータベースにJSONを保存していますか?
編集:また
、私はテーブルの列の型としてtext
を使用しています。
JSONデータをMySQLテーブル行に保存することはできますか?私はmysqlデータベースに配列を格納する必要があります。問題は、各ユーザーに必要な列の数がわからないことです。だから私は例のためのarray
という名前の行にJSONを格納すると思った。これが最善の方法ですか?MySQLデータベースにJSONを保存していますか?
編集:また
、私はテーブルの列の型としてtext
を使用しています。
はい、キー値ストアとしてmysqlを使用することは非常に良いアイデアです。実際には、一部の用途ではFacebookがそうです。
CREATE TABLE `json` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`data` blob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上記のテーブル構造はあなたを遠ざけます。断片化やクラスタリングは非常に簡単です。
編集:ここでのポイントは、PHP、Rubyなどを使用してjson/dataを処理することです。 SELECT ...
を編集してからINSERT ... ON DUPLICATE KEY UPDATE ...
を編集してください。
OPはJSONのデータの一部を照会する必要があるかもしれないので、これは最良のアイデアではないかもしれません。 –
さて、それは疑問ではありません... – Gustav
ええ、私は知っています。彼はそれをこの質問に対するコメントとして付け加えた。 –
これは問題ではありません。 mySQLは、大部分の括弧とファンキーな文字をテキストフィールドで処理できます。
だと思います。 4か月後に、エンティティに新しい属性を追加するか、エンティティからいくつかの属性を削除することになりますか?あなたは古いjsonのコンテンツをどのように解析しますか?テーブルに必要な列の数がわからない場合は、別の方法で考えて、おそらくuser_columnテーブルを使用するような動的構造を作成する必要があります。
リレーショナルデータベースフィールドに複数のデータを格納するのは、 。受け入れ可能なケースを考えることは可能ですが、ユーザー全体を格納することはできません。
リレーショナルデータベース構造を使用していない場合は、MySQLのNoSQLデータベースを参照してください。
JSONデータ(その中の特定のプロパティのクエリなど)で何かをする必要があることが分かっている場合は、どうしたらよいのですか...どのような場合でも本当に良い方法ではありません。 –
異なるユーザーに異なる量の列が必要なのはなぜですか? – beny23
@Pekka面白いですか? – user1947561