2016-04-25 17 views
-3

を認識されていません。表が作成されますが、私は「SchoolRecords」と呼ばれるデータベースを持っていると私は、次のコードを使用してテーブルを作成し

Create TABLE tblRoom (
ID nvarchar (2) Primary Key, 
RoomType nvarchar (8), 
Capacity numeric (3) 
) 

私がしようとしたとき、それはしかし、オブジェクトエクスプローラに表示されますので、表が作成されます情報を挿入するには、テーブル名の下に赤い線が表示され、その上にマウスカーソルを移動すると、 '無効なオブジェクト名' tblRoom 'と表示されます。私のコードは以下の通りです:

insert into tblRoom values ('B115[ca]','LT',100) 
insert into tblRoom values ('B206[ca]','CL',36) 

コードをexectutingすると、このエラーが発生します。

Msg 8152, Level 16, State 4, Line 1 
String or binary data would be truncated. 
The statement has been terminated. 
+2

は、あなたは自分のインテリセンスのキャッシュを更新する必要が赤いsquiggliesを修正する:

これを行うための他の方法は、挿入の順序をdeclaratingています。 ctrl + shift + r –

答えて

2

あなたの問題は、(デザイナで偽陽性のエラーである可能性があり、「無効なオブジェクト名」ではありませんそれが起こる)。あなたの問題は

です。文字列またはバイナリデータは切り捨てられます。

あなたはnvarchar (2)として、あなたのIDを定義し、まだあなたがそこに文字列を詰め込むしようとしていることは、長い間、2文字以上の方法です:「B115 [CA]」。 IDのサイズをnvarchar(8)以上にするか、IDを縮小してください。

1

これは、クエリがテーブルの作成時に行った宣言と同じ順序を取るためです。クエリでは、nvarchar(8)型の列にnvarchar(8)を挿入しようとしています。

挿入順序は、ID、RoomType、および容量でなければなりません。

INSERT INTO tblRoom 
(RoomType, ID, Capacity) 
VALUES ('B115[ca]','LT',100) 
関連する問題