消息207,级别16,无效的列名称' MH380'

时间:2014-07-04 14:23:46

标签: sql-server insert

我从插入语句中收到错误。

我用来在表中插入元组的语句是

insert into train values (103, MH380, 2000, 709)

顺便说一句,该表是使用以下语句创建的:

(
TrainCode   CHAR(5) NOT NULL, 
TrainName VARCHAR(20) NOT NULL,
Capacity int NOT NULL,
Model VARCHAR(20) NOT NULL, 
CONSTRAINT PKTrain PRIMARY KEY (TrainCode) 
)

有人可以帮忙吗? TQ

2 个答案:

答案 0 :(得分:2)

MH380似乎是一个字符串,因此您需要用单引号括起来。

insert into train values (103, 'MH380', 2000, 709)

您可能还想检查其他值 - 它们显示为数字但如果您已将相应的列类型声明为chars或varchars(例如列车代码?),则应该通过在引号周围添加引号来实现它们他们也是。

另外,您可能想要考虑将列名放入INSERT语句中,因此字段的顺序是显式的而不是隐式的。如果你的桌子被改变了,可以在以后保存头痛!

答案 1 :(得分:1)

根据您发布的表格结构如下

(TrainCode CHAR(5) NOT NULL, TrainName VARCHAR(20) NOT NULL, Capacity int 
NOT NULL,Model VARCHAR(20) NOT NULL, CONSTRAINT PKTrain PRIMARY KEY (TrainCode) )

正确INSERT语句应如下所示,但Capacity所有其他列均为VARCHAR类型。

insert into train values ('103', 'MH380', 2000, '709'