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

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

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

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

SQL

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

Q&A

解決済

3回答

16713閲覧

SQLサーバでのinset文エラー

yoppi07

総合スコア30

SQL Server

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

SQL

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

0グッド

0クリップ

投稿2018/10/29 10:01

編集2018/10/30 02:26

SQLサーバー2014でレコードを追加したいのですが、
こちらのエラーが発生してしまっています。

INSERT INTO Users ( UserID, Sid, UserType, AuthType, UserName, PassWord ) VALUES ( '0001', '0001', 'TestUser', 'Basic', 'test', 'hogehoge'; )
メッセージ 102、レベル 15、状態 1、行 15 ';' 付近に不適切な構文があります。

誤っている箇所がございますでしょうか。

よろしくお願い致します。

INSERT INTO Users ( UserID, Sid, UserType, AuthType, UserName, PassWord ) VALUES ( '0001', '0001', 'TestUser', 'Basic', 'test', 'hogehoge' );
メッセージ 257、レベル 16、状態 3、行 1 varchar データ型から varbinary データ型への暗黙の変換は許可されません。CONVERT 関数を使用して、クエリを実行してください。

イメージ説明

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

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

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

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

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

guest

回答3

0

'hogehoge';
)
ここの部分
'hogehoge'
);

こうでは?(セミコロンの位置)

投稿2018/10/29 10:42

akirafudo6

総合スコア341

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

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

yoppi07

2018/10/30 02:27

ありがとうございます。 こちらのエラーになってしまいますね・・・ メッセージ 206、レベル 16、状態 2、行 1 オペランド型の不整合: int は uniqueidentifier と互換性がありません
guest

0

ベストアンサー

';' 付近に不適切な構文があります。

hogehoge;;が不要で、最後の括弧の後ろに;が必要になります。


当初のエラーから別なものが追加されましたが…

varchar データ型から varbinary データ型への暗黙の変換は許可されません。CONVERT 関数を使用して、クエリを実行してください。

整数値が入るカラムに文字列を入れようとした時に出るエラーです。
id系は'1001'のように「''」で囲む必要はないですね。
てっきりid系は整数値かと思ってましたが、UniqueIdentifier型とvarbinary型で分かれてたとは。。。
それぞれの型の形式を調べて確認してください。

投稿2018/10/29 10:04

編集2018/10/30 02:36
dice142

総合スコア5158

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

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

yoppi07

2018/10/29 10:08

ありがとうございます。 コード修正しました。
madoka9393

2018/10/30 02:47

横から失礼いたします。 該当エラーが解消しても、 「UserType」及び「AuthType」(ともにint)に 「'TestUser'」及び「'Basic'」(ともに文字列)を挿入しようとしているので、 同様にエラーとなるのではないかと思われます。 併せて確認・修正をした方がよろしいかと。>質問者様
dice142

2018/10/30 02:52

> madoka9393様 ああ、本当ですね。。。 全然データ型合ってない。。。 > yoppi07様 SQLServerのデータ型について見直した方が良いかと思います。 書かれたコードの見直し以前に学習として、ですね。
guest

0

hogehoge;いらないかもです

投稿2018/10/29 10:02

n.t

総合スコア64

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

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

yoppi07

2018/10/29 10:04

ありがとうございます。 外したらこちらのエラーでした。 メッセージ 257、レベル 16、状態 3、行 1 varchar データ型から varbinary データ型への暗黙の変換は許可されません。CONVERT 関数を使用して、クエリを実行してください。
n.t

2018/10/29 10:08

カラムの型ってどうなってますか? SQLサーバーは型付が結構厳しいのでデータの扱いが注意が必要になります
n.t

2018/10/29 10:10

UserIDがvarbinaryな気がするのでシングルクォートとったらいける気もしますが他のもちょっとみたいですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問