- PR -

SQLの使い方について。

投稿者投稿内容
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2006-11-24 15:43
引用:

Edossonさんの書き込み (2006-11-24 11:14) より:

ユニークと混同してるんじゃないの?
それともMySQLは、単一テーブルの複数の列にプライマリを設定できるのか、
あるいは、プライマリとユニークは区別されていないのか。



複合キーのこと?

MySQL 4.1は、できるみたいよ。
質問者がMySQLのバージョン書いてないから、実際のところは分からないけどね。
http://dev.mysql.com/doc/refman/4.1/ja/create-table.html

追加:

リンク先だけじゃ、何がなんだか、わかんないなぁ。

CONSTRAINT PRIMARY KEY (index_col_name, ...)
ってなってるから、たぶんいけるんじゃない。

[ メッセージ編集済み 編集者: かずくん 編集日時 2006-11-24 15:48 ]
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-11-24 15:46
引用:

かずくんさんの書き込み (2006-11-24 15:43) より:

複合キーのこと?


そうか、複合キーだったか。
失礼致しました。m(_ _)m
しかし、それなら「両方ともプライマリ」なんて、書かんでくだされ。
「両方あわせて」とか。
くり
常連さん
会議室デビュー日: 2006/10/30
投稿数: 28
お住まい・勤務地: tokyo
投稿日時: 2006-11-24 15:47
返信ありがとうございます。

とんくまさん
IFNULL(A,B)と同じみたいですが、両方結果が同じで0からしか、インサートできませんでした。

shimixさん、Edossonさん
すみません、使い方を間違っていました。
ちゃんと(AUTO_INCREMANET)で、1からオートナンバーできました。
ありがとうございます。
プライマリキーを2つ作ることにより、
1−1
1−2
2−1
2−2
と、言うような形ができます。
ユニークがはっきりとなにを示してるかわからないので・・



[ メッセージ編集済み 編集者: くり 編集日時 2006-11-24 15:50 ]
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2006-11-24 16:12
引用:

くりさんの書き込み (2006-11-24 15:47) より:
プライマリキーを2つ作ることにより、
1−1
1−2
2−1
2−2
と、言うような形ができます。
ユニークがはっきりとなにを示してるかわからないので・・



どう見ても複合だと思いますけど(汗)。「プライマリキーを2つ作る」と書かれると話が通じなくなるので気を付けた方がよろしいかと。

#table create時のSQLを書いてくれればそれでも可(苦笑

uniqueは・・MySQLのマニュアルでも読んでください。かずくんさんも提示されてますが再掲(まだ読まれてないでしょう?)
http://dev.mysql.com/doc/refman/4.1/ja/create-table.html

>PRIMARY KEY は、すべてのキーカラムが NOT NULL として定義されていなければならな
>いユニーク KEY である。
>個々のテーブルは PRIMARY KEY を 1 つだけ持つことができる。

>UNIQUE インデックスでは、インデックスのすべての値に重複がない状態でなければなら
>ない。ただし、例外として、そのインデックスのカラムの 1 つで NULL 値が格納可能な
>場合、複数の NULL 値を格納できる。

[ メッセージ編集済み 編集者: shimix 編集日時 2006-11-24 16:19 ]

スキルアップ/キャリアアップ(JOB@IT)