2011-07-17 12 views
-1

私は実際にそれが実際に存在すると確信していますちょっと私が探しているデータ型は何ですか?

しかし、SQLではフィールドであり、内部にはdata1、data2、data3などがあります。フィールド内の配列と同じです。何か案が?

+3

データ型はRDBMSに依存します - RDBMSは何ですか?次に、正規化された表のすべての列の値は、アトミック、つまり単一値にする必要があります。 1つのフィールドに値の配列を格納することはまれです。 –

+0

sql申し訳ありません。これが役に立ちますようお願いいたします:) – Matthew

+2

SQLはRDBMSではなく、多数のRDBMSでサポートされている言語です。 Microsoft SQL Server、Oracle、MySQL、Postgres? –

答えて

0

上記のように、そのようなタイプはありません。

また、カンマ区切りの値をフィールドに保存しないでください。代わりに、id-valueペアの別のテーブルを作成します。

Articlesテーブルを使用するブログがあるとします。各記事は複数のTagsを持つことができます。さらにArticleTagsテーブルで

table: Articles   table: Tags   table: ArticleTags 
----------------  --------------  ----------------- 
| article_id PK |  | tag_id PK | | article_id FK | 
| title   |  | name   | | tag_id  FK | 
| content  |  |    | |     | 
|    |  --------------  ----------------- 
---------------- 

記事とタグIDの両方からなる複合主キーを、持っているでしょう。代わりにカンマ区切りとして単一のフィールドで前記物品のためにすべてのタグを維持するのは、このようなテーブル構造を持つべきです - PRIMARY KEY(article_id , tag_id)

1

このようなデータ型はありません。

通常のvarcharフィールドにそのようなデータを置くことができますが、コンマで区切られた項目にアクセスするための組み込み方法がないため、どのクエリでも使用するのが複雑になります。

このようなデータを処理する通常の方法は、別のテーブルに配置することです。

+0

私はちょっと役立つことができますか? ユーザーID、friendid、 "lol" FROM friends userid = 4、friendid!= "0" は現在のクエリです。どのようにすべての結果をユーザーIDから取得し、解析しますかカンマで区切られていますか? – Matthew

関連する問題