2010-01-07 136 views
1

我在SQL Server中插入查询时遇到问题。查询全文为SQL Server查询 - 插入问题

insert into franchise (fran_id, name, address1, address2, city, state, zip, email, phone, text) 
values(0, "DevFranchise1", "101 Main St.", "-", "Brighton", "Mi", "48116", "[email protected]", 8105551234, "asdflkjsadf"); 

现在“状态”和“文字”都亮蓝色。它给我的错误列表如下:

Msg 207, Level 16, State 1, Line 1 
Invalid column name 'DevFranchise1' 
Msg 207, Level 16, State 1, Line 2 
Invalid column name '101 Main St.' 

这是什么意思/我该如何解决它?

回答

5

字符串常量应该用单引号('),而不是双引号(")。

此外,右括号([])将允许您使用关键字(如状态和文本)作为列名称。这并不总是必要的,但在含糊的情况下提供了一条出路。

insert into franchise 
    (fran_id, name, address1, address2, city, [state], zip, email, phone, [text]) 
values 
    (0, 'DevFranchise1', '101 Main St.', '-', 'Brighton', 'Mi', '48116', 
    '[email protected]', 8105551234, 'asdflkjsadf'); 
+0

在将来我会避免使用任何关键字作为列名。如果它变得像你描述的蓝色,你知道什么是... – 2010-01-07 15:57:46

+0

感谢帮助伙计们,我第一次在IIS服务器上工作。 – 2010-01-07 17:21:35

1

您必须在SQL中使用单引号。

5

尝试使用单引号(')而非双引号(“)。

否则,你的价值似乎被认为是列名。

1

使用单引号字符不是在双引号字符SQL

2

使用单引号,它可能会工作。

1
set quoted_identifier off 
插入前

但更好的是使用单引号。