[解決済み] SQL Serverでenumを作成する
2022-03-01 01:26:13
質問
MySQL では、このような enum を作成することができます。
USE WorldofWarcraft;
CREATE TABLE [users]
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
username varchar(255),
password varchar(255),
mail varchar (255),
rank ENUM ('Fresh meat', 'Intern','Janitor','Lieutenant','Supreme being')DEFAULT 'Fresh meat',
);
これはSQL Serverでは不可能です。では、その代わりとなるものは何でしょうか?
この投稿を読みました
SQL Server と MySQL の enum データ型は同じですか?
のようなものを提案する。
mycol VARCHAR(10) NOT NULL CHECK (mycol IN('Useful', 'Useless', 'Unknown'))
どのようにしたら、その仕事を得ることができ、デフォルト値を作成することができるのでしょうか?
enum の目的は、ユーザーに値を提示するサイト上のグラフィカルなドロップダウンと結びつけることができ、デフォルト値があらかじめ指定されていることです。
どのように解決するのですか?
モデルを適切に正規化するのがよいでしょう。
create table user_rank
(
id integer primary key, -- no identity, so you can control the values
rank varchar(20) not null unique
);
insert into user_rank (id, rank)
values
(1, 'Fresh Meat'),
(2, 'Intern'),
(3, 'Janitor'),
(4, 'Lieutenant'),
(5, 'Supreme being');
CREATE TABLE [users]
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
username varchar(255),
password varchar(255),
mail varchar (255),
rank integer not null default 1,
constraint fk_user_rank foreign key (rank) references user_rank (id)
);
Web サイトのドロップダウンを簡単に入力できるようにするには、以下のようにクエリを実行します。
user_rank
テーブルを使用します。
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] enumを列挙するには
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CREATE VIEW は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み】参照するテーブルにプライマリーキーやキャンディデートキーがない
-
[解決済み】INTERSECTとINNER JOINは根本的に違うのか?[重複している]
-
[解決済み】SQL Server: 無効なカラム名
-
[解決済み】sys.dm_exec_sql_textはどのように機能するのでしょうか?
-
[解決済み] SQLクエリ「00904. 00000 - "%s: 無効な識別子".
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] ORA-00918: 列があいまいに定義されています」を解決する方法
-
[解決済み] 時間を時間単位や10分単位でグループ化する方法
-
[解決済み] SQL ServerはMySQLのenumデータ型と同等ですか?