表:用户
列:
UserID: int (PK Identity 1,1)
TypeID: int
Email: varchar(100)
Password: varchar(300)
LastName: varchar(20)
FirstName: varchar(20)
Street: varchar(20)
Municipality: varchar(50)
City: varchar(20)
Phone: char(7)
Mobile: char(11)
Status: varchar(20)
DateAdded: datetime
DateModified: datetime
这是我的查询
INSERT INTO Users VALUES (2,
'phil@gmail.com',
'password',
'Reavis',
'Phil',
'Street',
'Municipality',
'City',
'1234567',
'12345678910',
'Active',
'2018-09-09 08:00:00',
'2018-01-01 09:00:00' )
我一直收到错误:消息213,级别16,状态1,第1行 列名或提供的值数与表定义不匹配。
答案 0 :(得分:2)
您的查询根本没有提供足够的值来填充所有字段。在这种情况下,您可以提供字段列表以填充VALUES
子句中提供的值:
INSERT INTO Users (
TypeID, Email, Password, LastName,
FirstName, Street, Municipality, City,
Phone, Mobile, Status,
DateAdded, DateModified
) VALUES (
2, 'phil@gmail.com', 'password', 'Reavis',
'Phil', 'Street', 'Municipality', 'City',
'1234567', '12345678910', 'Active',
'2018-09-09 08:00:00', '2018-01-01 09:00:00'
)
阅读INSERT
语句的语法。
答案 1 :(得分:0)
您需要在insert语句中添加列名,例如:
INSERT INTO Users (email, password, ...) VALUES ('email@domain.com', 'password');
答案 2 :(得分:-1)
您错过了TypeID,第二个参数是电子邮件
试试吧
INSERT INTO Users VALUES (2, null,'phil@gmail.com', 'password', 'Reavis',
'Phil','Street', 'Municipality', 'City',
'1234567', '12345678910', 'Active',
'2018-09-09 08:00:00', '2018-01-01 09:00:00' )