我刚刚创建的表上的MS SQL错误“无效的对象名称”

时间:2010-07-22 13:31:01

标签: sql sql-server

我得到了

  

无效的对象名称

当我尝试将记录插入到刚刚创建的表中时出现

错误。

我正在使用Microsoft SQL 2000。我正在超级用户帐户上测试所有这些,因此没有权限问题。

创建表:

CREATE TABLE [table_test2] (
[User 4] [varchar] (10)  NULL ,  
[User 3] [varchar] (10)  NULL ,  
[User 2] [varchar] (10)  NULL ,  
[User 1] [varchar] (10)  NULL ,  
[Spouse] [varchar] (10)  NULL ,  
[Sensitivity] [varchar] (10)  NULL ,  
[Referred By] [varchar] (10)  NULL ,  
[Profession] [varchar] (10)  NULL ,  
[Private] [varchar] (10)  NULL ,  
[Priority] [varchar] (10)  NULL ,  
[Other Address PO Box] [varchar] (10)  NULL ,  
[Organizational ID Number] [varchar] (10)  NULL ,  
[Office Location] [varchar] (10)  NULL ,  
[Notes] [varchar] (133)  NULL ,  
[Mileage] [varchar] (10)  NULL ,  
[Manager's Name] [varchar] (10)  NULL ,  
[Location] [varchar] (10)  NULL ,  
[Language] [varchar] (10)  NULL ,  
[Keywords] [varchar] (10)  NULL ,  
[Internet Free Busy] [varchar] (10)  NULL ,  
[Initials] [varchar] (10)  NULL ,  
[Home Address PO Box] [varchar] (10)  NULL ,  
[Hobby] [varchar] (10)  NULL ,  
[Government ID Number] [varchar] (10)  NULL ,  
[Gender] [varchar] (16)  NULL ,  
[E-mail 3 Display Name] [varchar] (10)  NULL ,  
[E-mail 3 Type] [varchar] (10)  NULL ,  
[E-mail 3 Address] [varchar] (10)  NULL ,  
[E-mail 2 Display Name] [varchar] (10)  NULL ,  
[E-mail 2 Type] [varchar] (10)  NULL ,  
[E-mail 2 Address] [varchar] (10)  NULL ,  
[E-mail Display Name] [varchar] (38)  NULL ,  
[E-mail Type] [varchar] (10)  NULL ,  
[E-mail Address] [varchar] (38)  NULL ,  
[Directory Server] [varchar] (10)  NULL ,  
[Children] [varchar] (10)  NULL ,  
[Categories] [varchar] (10)  NULL ,  
[Business Address PO Box] [varchar] (10)  NULL ,  
[Birthday] [varchar] (10)  NULL ,  
[Billing Information] [varchar] (10)  NULL ,  
[Assistant's Name] [varchar] (10)  NULL ,  
[Anniversary] [varchar] (10)  NULL ,  
[Account] [varchar] (10)  NULL ,  
[Telex] [varchar] (10)  NULL ,  
[TTY/TDD Phone] [varchar] (10)  NULL ,  
[Radio Phone] [varchar] (10)  NULL ,  
[Primary Phone] [varchar] (10)  NULL ,  
[Pager] [varchar] (10)  NULL ,  
[Other Phone] [varchar] (10)  NULL ,  
[Other Fax] [varchar] (10)  NULL ,  
[Mobile Phone] [varchar] (19)  NULL ,  
[ISDN] [varchar] (10)  NULL ,  
[Home Phone 2] [varchar] (10)  NULL ,  
[Home Phone] [varchar] (10)  NULL ,  
[Home Fax] [varchar] (10)  NULL ,  
[Company Main Phone] [varchar] (10)  NULL ,  
[Car Phone] [varchar] (10)  NULL ,  
[Callback] [varchar] (10)  NULL ,  
[Business Phone 2] [varchar] (10)  NULL ,  
[Business Phone] [varchar] (19)  NULL ,  
[Business Fax] [varchar] (19)  NULL ,  
[Assistant's Phone] [varchar] (10)  NULL ,  
[Other Country/Region] [varchar] (10)  NULL ,  
[Other Postal Code] [varchar] (10)  NULL ,  
[Other State] [varchar] (10)  NULL ,  
[Other City] [varchar] (10)  NULL ,  
[Other Street 3] [varchar] (10)  NULL ,  
[Other Street 2] [varchar] (10)  NULL ,  
[Other Street] [varchar] (10)  NULL ,  
[Home Country/Region] [varchar] (10)  NULL ,  
[Home Postal Code] [varchar] (10)  NULL ,  
[Home State] [varchar] (10)  NULL ,  
[Home City] [varchar] (10)  NULL ,  
[Home Street 3] [varchar] (10)  NULL ,  
[Home Street 2] [varchar] (10)  NULL ,  
[Home Street] [varchar] (10)  NULL ,  
[Business Country/Region] [varchar] (29)  NULL ,  
[Business Postal Code] [varchar] (10)  NULL ,  
[Business State] [varchar] (10)  NULL ,  
[Business City] [varchar] (17)  NULL ,  
[Business Street 3] [varchar] (10)  NULL ,  
[Business Street 2] [varchar] (10)  NULL ,  
[Business Street] [varchar] (30)  NULL ,  
[Job Title] [varchar] (10)  NULL ,  
[Department] [varchar] (10)  NULL ,  
[Company] [varchar] (34)  NULL ,  
[Suffix] [varchar] (10)  NULL ,  
[Last Name] [varchar] (16)  NULL ,  
[Middle Name] [varchar] (10)  NULL ,  
[First Name] [varchar] (10)  NULL ,  
[Title] [varchar] (10)  NULL 
)

没有错误创建表!!

我可以从表中选择:

select * from table_test2  

但是当我尝试插入时,我得到一个错误,该对象不是fonud:

insert into table_test2
('User 4', 'User 3', 'User 2')
values
('a','b','c')

返回错误:

  

服务器:消息208,级别16,状态3,行1无效的对象名称   'table_test'。

4 个答案:

答案 0 :(得分:5)

但它们没有相同的名称。您创建的那个后缀为2

CREATE TABLE [table_test2]

select * from table_test 

如果您确定没有在select / insert语句中出现类似的错误,我建议运行以下内容。

select * from 
sysobjects /*For SQL Server 2000*/
where name like 'table_test%'

此外,您的insert声明看起来很狡猾。我想你需要方括号或双引号而不是单引号。我不确定这是否会产生您所看到的错误。

insert into table_test
([User 4], [User 3], [User 2])
values
('a','b','c')

答案 1 :(得分:1)

您确定使用的是正确的数据库吗?尝试在每个语句之前使用USE语句,或在表前添加数据库名称,例如:

CREATE TABLE mydatabase..table_name  ...
INSERT INTO mydatabase..table_name ...

可以使用'..'前缀,因此您无需指定架构(例如dbo)。

希望有所帮助。

答案 2 :(得分:1)

语法错误。需要用括号而不是引号包装insert语句列列表:

这将是正确的语法:

 insert into table_test2
    ([User 4], [User 3], [User 2])
    values
    ('a','b','c')

答案 3 :(得分:0)

在CREATE TABLE语句中,表的名称是table_test2