Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 表已创建但未被识别_Sql Server_Error Handling_Insert - Fatal编程技术网

Sql server 表已创建但未被识别

Sql server 表已创建但未被识别,sql-server,error-handling,insert,Sql Server,Error Handling,Insert,我有一个名为“SchoolRecords”的数据库,我使用以下代码创建了一个表: Create TABLE tblRoom ( ID nvarchar (2) Primary Key, RoomType nvarchar (8), Capacity numeric (3) ) 创建该表是因为它出现在对象资源管理器中,但是,当我尝试插入信息时,它在表名下显示一条红线,当将鼠标悬停在该表上时,它会显示“无效对象名”tblRoom。我的代码如下: insert into tblRoom values

我有一个名为“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)
执行代码时,会发生以下错误:

Msg 8152, Level 16, State 4, Line 1
String or binary data would be truncated.
The statement has been terminated.
您的问题不是“无效对象名”,这可能是设计器中的误报错误(这种情况经常发生)。你的问题是

字符串或二进制数据将被截断


您将ID定义为
nvarchar(2)
,但您试图在其中填充一个长度超过两个字符的字符串:'B115[ca]'。将ID的大小增加到
nvarchar(8)
或更大,或者缩小ID。

这是因为查询的顺序与创建表时所做的声明相同。在您的查询区域中,您试图在nvarchar(2)类型列中插入nvarchar(8)

插入顺序必须是ID、房间类型和容量

另一种方法是声明插入顺序:

INSERT INTO tblRoom
(RoomType, ID, Capacity)
VALUES ('B115[ca]','LT',100)

要修复红色扭曲,只需更新intellisense缓存。ctrl+shift+r