这个SQL语句有什么问题?

时间:2010-07-28 00:06:38

标签: sql

我正在尝试制作这张桌子,我想要测量一下我的眼睛。这有什么问题?我收到一个错误:“PLAN附近的语法不正确”

create table Instrumentos(
ID int primary key,
IDSeguimiento int foreign key references Seguimiento(ID),
GuiaDocente bit,
GuiaDocenteObservacion varchar(200),
GuiaAlumno bit,
GuaiAlumnoObservacion varchar(200),
Plan bit,
PlanObservacion varchar(200),
RegistroNotas bit,
RegistroNotasObservacion varchar(200),
PlanificacionClases bit,
PlanificacionClasesObservacion varchar(200),
Limat bit,
LimatObservacion varchar(200),
ProyectoFinal bit,
ProyectoFinal varchar(200),
Practicos bit,
PracticosObservacion varchar(200),
Portfolio bit,
PortfolioObservacion varchar(200)
)

6 个答案:

答案 0 :(得分:7)

PLAN是保留关键字。

更改名称或使用适合您服务器类型的转义符。对于MSSQL,我认为您使用[Plan],但是在编写查询/过程/等时,您将不得不这样做。

答案 1 :(得分:4)

两个问题:

  1. 计划是SQL Server保留字。
  2. ProyectoFinal列名称使用两次。

答案 2 :(得分:1)

计划可能是一个SQL关键字(例如,“EXPLAIN PLAN”)。

转义列名称或更改它。

答案 3 :(得分:1)

计划是SQL保留字。

答案 4 :(得分:1)

计划是一个保留字。如果你真的想使用它,我建议反对它,你需要将它包含在转义字符中。

答案 5 :(得分:1)

PLAN是保留关键字。根据您使用的SQL引擎,您必须使用引号或括号来转义该列名,即:

"Plan" bit

或者

[Plan] bit

并且在任何查询中都这样做,即:

INSERT INTO Instrumentos(..., [Plan], ...) VALUES (...)

或者:

INSERT INTO Instrumentos(..., "Plan", ...) VALUES (...)