![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_09.png?5a7ff87)
お世話になります。
今、以下のような列からなるテーブルがあります。
・A(主キー)
・B(主キー)
・C(主キー)
・D(主キー)
・E(NOT NULL)
・F
列A、B、C、Dが複数列の組み合わせで主キーです。
このテーブルを以下のように変更したい場合、
どのようなALTER TABLE文を書けばできますでしょうか。
※列A、B、C、Dの主キーはやめて、列A、B、C、D、G、H、Iの
複数列によるUNIQUE制約を設定。
・A(UNIQUE&NOT NULL)← 主キーはやめる
・B(UNIQUE&NOT NULL)← 主キーはやめる
・C(UNIQUE&NOT NULL)← 主キーはやめる
・D(UNIQUE&NOT NULL)← 主キーはやめる
・E(NOT NULL)
・F
・G(UNIQUE)← 追加
・H(UNIQUE)← 追加
・I(UNIQUE)← 追加
やりたいことは、列G、H、Iを追加して、
A、B、C、D、G、H、IでUNIQUEにしたく、かつ、
追加したG、H、IはNULLを許容したいということです。
A、B、C、D、G、H、Iの複数列の組み合わせで主キーも
考えましたが、主キーにするとNULLが許容できないと
いうことで、上記のようなレイアウトを考えました。
他に上手い方法があればご教授いただけると幸いです。
ちなみに列のデータ型はすべて可変長の文字列です。
No.1ベストアンサー
- 回答日時:
RDBMS名とバージョンは、何ですか?
DDL(定義)は、RDBMSによる機能差、仕様差が多い部分です。
この回答への補足
chukenkenkouさん
ご回答ありがとうございます。
RDBMSは、ややマイナーでして、富士通のSymfowareです。
また、バージョンは9.0になります。
よろしくお願いします。
chukenkenkouさん
ご回答ありがとうございます。
その後、自分で調べ、SymfowareではALTER TABLEで、
やりたいことができないことがわかりましたので、
テーブルを作り直すこととしました。
よって本質問は締め切ります。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- Oracle SQLについて教えて下さい。 主キーを持ったカラムを主キーの機能を持たせたまま カンマ区切りで文字列 1 2023/03/27 22:47
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Windows 10 BitLocker 回復キーの入力 1 2022/10/09 15:23
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
SQLによる"あいうえお"順でソー...
-
SELECT 文 GROUP での1件目を...
-
特定の文字列で列を区切るには?
-
列のヘッダーを含めるのをデフ...
-
Access:クエリーにて集計後に...
-
SQLで列名を変数にできないでし...
-
【VB.NET】日付型の列にNULLを...
-
列番号による項目の取得について
-
DB2のSQL
-
エクセル関数:日付のカウント...
-
項目名に大文字と小文字の混在...
-
Accessでの全データから空白削除
-
SQLのクエリ、又はプロシージャ...
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
ACCESSで、履歴事項を管理する...
-
エクセルで最後の文字だけ置き...
-
1、Rstudioで回帰直線を求める...
-
updateを1行ずつ実行したい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
SQLで列名を変数にできないでし...
-
Access:クエリーにて集計後に...
-
列のヘッダーを含めるのをデフ...
-
伝票番号、品番、在庫としてマ...
-
【VB.NET】日付型の列にNULLを...
-
SQLによる"あいうえお"順でソー...
-
UPDATE文のWHERE条件に他のテー...
-
列番号による項目の取得について
-
特定の文字列で列を区切るには?
-
項目名に大文字と小文字の混在...
-
テーブル列数とデータファイル...
-
複数列の最大値を求めたい
-
特定の列だけをGROUP BYしたい時
-
Accessでの全データから空白削除
-
”+”の符号をつける方法
-
IDENTITY列の更新で失敗する
-
SQLのクエリ、又はプロシージャ...
-
DB2のSQL
おすすめ情報