質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

3回答

1601閲覧

SQL SERVERに新しいテーブルを作り、主キーに初期値をもたせたい

milkwalking

総合スコア60

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2019/06/05 06:38

編集2019/06/05 07:58

前提・実現したいこと

SQLサーバーにテーブル[custom table]を作成したいです。
列は 主キーが int 1の値のid列
VARCHAR(2000) の値がnullの列
行は1行だけのものが希望です。

発生している問題・メッセージ

SQL

1CREATE TABLE custom table( 2 id INTEGER DEFAULT 1 PRIMARY KEY , 3 names VARCHAR(2000) NULL

で実行するとテーブルは作成されるのですが主キーの値が設定されていないです。

その後UPDATE文で

SQL

1UPDATE custom table 2SET id =1

を実行したら「正常に実行されました」と記載され
「0行処理されました」と通知されます、、、、

CREATEとUPDATE別でもいいですが、
主キーが 型int で値が1のid列
型VARCHAR(2000) での値がnullの列
の2列をもった行が1行のテーブル作成の方法がわからないです。

お手数ですが、方法や原因がお分かりになる方いらっしゃったらご教示お願いいたします。

補足情報(FW/ツールのバージョンなど)

言語はC#
Windows Formを使用してアプリを作成中です
SQLサーバー
Microsoft SQL Server 2014 - 12.0.2269.0 (X64)
Express Edition (64-bit) on Windows NT 6.3 <X64> (Build 17763: )

VisualStudio2017という環境です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2019/06/05 06:55

[SQL Server]タグを追加されては?
x_x

2019/06/05 07:07

C#は関係ありますか?
退会済みユーザー

退会済みユーザー

2019/06/05 07:41

すでに解決済みのようで、今さらながらですが・・・ > SQL SERVERに新しいテーブルを作り、主キーに初期値をもたせたい テーブルを作るのか目的であって手段は問わないのか、そうではなくて Transact-SQL を勉強したいので CREATE、INSERT クエリを作りたいのか、どっちだったのでしょう? それを質問の最初に書いておくようにしていただけると助かります。そして、後者が目的であれば余計なタグ C# は付けないようお願いします。
milkwalking

2019/06/05 07:59

orlofskyさん タグを追加いたしました。 x_xさん 申し訳ございません。関係ありませんでした、、、 SurferOnWwwさん 申し訳ございません。タグを修正させていただきました。 今回は「テーブルを作るのか目的であって手段は問わない」が目的でした。
退会済みユーザー

退会済みユーザー

2019/06/05 08:04

> 今回は「テーブルを作るのか目的であって手段は問わない」が目的でした。 そうであれば、SQL Server Management Studio または Visual Studio から SQL Server に接続して作業するのが簡単です。GUI で出来ますので間違いなく簡単に短時間で作業できると思います。(Transact-SQL のプロで、コマンドラインから作業した方が良いという人もいるとは思いますが)
guest

回答3

0

IDはプログラムで採番されるのでしょうか?

主キーに初期値をもたせたい

という事なので、IDENTITYを指定するとオートナンバーとして動作します。

SQL

1CREATE TABLE custom( 2 id INTEGER IDENTITY(1,1) PRIMARY KEY, 3 names VARCHAR(2000) NULL 4)

insert時に項目を省略する事で、自動採番されます。

SQL

1INSERT INTO costom(name) VALUES ('test')

SQL ServerのIDENTITY 自動採番する

投稿2019/06/05 07:22

編集2019/06/05 07:24
sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

milkwalking

2019/06/05 07:29

IDは採番予定ではなかったです。1行だけのテーブル作成で今後も行は増えない、増やさない予定のテーブルです。しかし今後の内容でためになる情報ありがとうございます。
sazi

2019/06/05 07:35

設定用のテーブルでしたか。 PRIMARYは何のために設定されています?
guest

0

ベストアンサー

「0行処理されました」と通知されます、、、、

UPDATEはデータが1件も入ってなければ 「0行処理されました」 となります。
テーブルにデータをINSERTする必要があります。

SQL Server 入門

投稿2019/06/05 07:05

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

milkwalking

2019/06/05 07:30

質問に一番マッチングした答えをいただきありがとうございます。
guest

0

UPDATEではなくINSERTでした。
テーブルを作成した後に下記を入力することで実現できました。

SQL

1INSERT INTO costom table(id) VALUES (1)

投稿2019/06/05 06:57

編集2019/06/05 06:58
milkwalking

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x_x

2019/06/05 07:08

[custom table]だったのでは?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問