我有“用户”表
id int
username varchar(40)
joindate date
email varchar(60)
password nvarchar(100)
我想执行以下查询
INSERT INTO User (username, joinDate, email, password)
VALUES ('Kristian', '15/11/2017', 'foo@outlook.com', 'password')
SQL Server 2014引发错误
关键字“用户”
附近的语法不正确
我做错了什么?
答案 0 :(得分:5)
"用户"是一个保留字,因此需要用方括号括起来。
INSERT INTO [User] (username, joinDate, email, password)
VALUES ('Kristian', '15/11/2017', 'foo@outlook.com', 'password')
正如在评论中强烈指出的那样,更改表名将是更好的行动方案,如果你能够这样做。
答案 1 :(得分:1)
由于以下原因,您收到错误
User
(以及Password
)是系统定义的关键字。因此,在将其用于任何表名称或列名称时(不建议使用它),您应该在方括号内指定它们
您将日期时间设为DD / MM / YYYY格式。将其更改为MM / DD / YYYY。
我更改了下面的查询,它适用于我
INSERT INTO [User] (username, joinDate, email, [password])
VALUES ('Kristian', '11/15/2017', 'foo@outlook.com', 'password')