2012-03-27 13 views
7

Según Wikipedia esta sintaxis es correcta ...SQL error de consulta de servidor

INSERT INTO dbo.metadata_type ("name", "publishable") 
VALUES 
("Content Owner", 0), 
("Content Coordinator", 0), 
("Writer", 0), 
("Content Type", 0), 
("State", 1), 
("Business Segment", 0), 
("Audience", 0), 
("Product Life Cycle Stage", 0), 
("Category", 0), 
("Template", 0) 

estoy recibiendo errores. He intentado envolver los nombres de las columnas en `pero tampoco funcionó ...

Código de error 207, estado SQL 42S22: Nombre de la columna no válida 'Propietario del contenido'.
Código de error 207, estado SQL 42S22: nombre de columna no válido 'Coordinador de contenido'.
Código de error 207, estado SQL 42S22: nombre de columna no válido 'Escritor'.
Código de error 207, estado SQL 42S22: nombre de columna no válido 'Tipo de contenido'.
Código de error 207, estado SQL 42S22: nombre de columna no válida 'Estado'.

+2

Use comillas simples para insertar! –

+4

Además de usar comillas simples: esta sintaxis para especificar múltiples tuplas en una sola instrucción 'INSERT' es válida en SQL Server ** 2008 ** y más reciente solamente, no funciona en versiones anteriores. –

Respuesta

12

En SQL Server, los valores de cadena están delimitados por ', no ".

Además, los nombres de las columnas deben estar entre corchetes, o deben dejarse como están (si no contienen espacios).

Su consulta debe, por lo tanto, tener este aspecto:

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
    ('Content Owner', 0), 
    ('Content Coordinator', 0), 
    ('Writer', 0), 
    ('Content Type', 0), 
    ('State', 1), 
    ('Business Segment', 0), 
    ('Audience', 0), 
    ('Product Life Cycle Stage', 0), 
    ('Category', 0), 
    ('Template', 0) 
3

Debe utilizar comillas simples en lugar de comillas dobles para sus valores y sin comillas en absoluto para especificar qué columna para insertar:

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
('Content Owner', 0), 
('Content Coordinator', 0), 
('Writer', 0), 
('Content Type', 0), 
('State', 1), 
('Business Segment', 0), 
('Audience', 0), 
('Product Life Cycle Stage', 0), 
('Category', 0), 
('Template', 0) 
3

El 'Error 207' de sql está relacionado con el nombre incorrecto de la columna de la tabla. Parece que está intentando recuperar los datos sobre el nombre de la columna que no existe en la tabla especificada. Le sugiero que se asegure de que está utilizando el nombre de columna correcto en su consulta. También verifique que el nombre de la tabla sea correcto, mencionado en la consulta o no. Prueba esto y avísame si aún obtienes el mismo error o no.

si usted está tratando de insertar valores a un varchar utilizando "" tratar de utilizar simples ''

como:

INSERT INTO dbo.metadata_type (name, publishable) VALUES 
('Content Owner', 0), 
('Content Coordinator', 0), 
('Writer', 0), 
('Content Type', 0), 
('State', 1), 
('Business Segment', 0), 
('Audience', 0), 
('Product Life Cycle Stage', 0), 
('Category', 0), 
('Template', 0) 
+0

su consulta contiene errores: los nombres de columna no deben estar rodeados por comillas. –

+0

@FrancisP Pruébalo ahora. –

+2

debería ser: INSERT INTO dbo.metadata_type (name, publishable) ... –

0

Si usted está mirando para insertar varias filas con una instrucción de inserción, aquí hay otra manera de hacerlo

INSERT INTO dbo.metadata_type (name, publishable) 
SELECT 'Content Owner', 0 
UNION ALL 
SELECT 'Content Coordinator', 0 
UNION ALL 

y así sucesivamente

Cuestiones relacionadas