SQL插入语法错误。以值为场

SQL插入语法错误。以值为场,sql,sql-server,Sql,Sql Server,我编写了以下SQL命令来创建一个数据库,然后创建一个表,然后将数据添加到已创建的_db.created_表中 然而,这似乎是错误的。因为SQL将值作为字段名。有什么问题吗 我还使用Microsoft SQL server 2012企业版 CREATE DATABASE dbsample; CREATE TABLE passwording ( passwording_id INT ,passwording_username VARCHAR(256) ,password

我编写了以下SQL命令来创建一个数据库,然后创建一个表,然后将数据添加到已创建的_db.created_表中

然而,这似乎是错误的。因为SQL将值作为字段名。有什么问题吗

我还使用Microsoft SQL server 2012企业版

CREATE DATABASE dbsample;
CREATE TABLE passwording (
     passwording_id INT
     ,passwording_username VARCHAR(256)
     ,passwording_date INT
);

INSERT INTO passwording (passwording_username, passwording_date) VALUES("myUserName", 754254354);
我得到的错误是:

Msg 207, Level 16, State 1, Line 11
Invalid column name 'myUserName'.

在表中,您已经为列
passwording\u date
指定了数据类型
INT
。但您输入的值为
25/12/2011
,这是一个字符串。这样行吗?您应该使用数据类型,对吗

编辑:关于更新的问题,为什么要使用
将字符串值插入表中。你的问题应该是

INSERT INTO passwording (passwording_username, passwording_date) VALUES('myUserName', 754254354);

在表中,您已经为列
passwording\u date
指定了数据类型
INT
。但您输入的值为
25/12/2011
,这是一个字符串。这样行吗?您应该使用数据类型,对吗

编辑:关于更新的问题,为什么要使用
将字符串值插入表中。你的问题应该是

INSERT INTO passwording (passwording_username, passwording_date) VALUES('myUserName', 754254354);
删除
中的“我的用户名”
使用
中的“我的用户名”

INSERT INTO passwording 
        (passwording_username,passwording_date) 
VALUES ('myUserName',754254354); 
删除
中的“我的用户名”
使用
中的“我的用户名”

INSERT INTO passwording 
        (passwording_username,passwording_date) 
VALUES ('myUserName',754254354); 

密码日期定义为INT而不是日期数据类型。这将导致转换失败消息。此外,密码中未设置密码id。您可能需要指定标识。最后,日期格式是英式的,因此您可能希望显式地将其转换为具有相应样式的日期时间数据类型

以下是代码的修订版本:

CREATE TABLE passwording (
     passwording_id INT IDENTITY(1, 1) NOT NULL
     ,passwording_username VARCHAR(256) NOT NULL
     ,passwording_date DATE NOT NULL
);

INSERT INTO passwording (passwording_username, passwording_date) VALUES('myUserName', CONVERT(DATETIME, '25/12/2011', 103));

passu date被定义为INT而不是date数据类型。这将导致转换失败消息。此外,密码中未设置密码id。您可能需要指定标识。最后,日期格式是英式的,因此您可能希望显式地将其转换为具有相应样式的日期时间数据类型

以下是代码的修订版本:

CREATE TABLE passwording (
     passwording_id INT IDENTITY(1, 1) NOT NULL
     ,passwording_username VARCHAR(256) NOT NULL
     ,passwording_date DATE NOT NULL
);

INSERT INTO passwording (passwording_username, passwording_date) VALUES('myUserName', CONVERT(DATETIME, '25/12/2011', 103));

对于
myUserName

现在你可以运行下面的查询了

CREATE DATABASE dbsample;
CREATE TABLE passwording (
     passwording_id INT
     ,passwording_username VARCHAR(256)
     ,passwording_date INT
);

INSERT INTO passwording (passwording_username, passwording_date) VALUES('myUserName', 754254354);

对于
myUserName

现在你可以运行下面的查询了

CREATE DATABASE dbsample;
CREATE TABLE passwording (
     passwording_id INT
     ,passwording_username VARCHAR(256)
     ,passwording_date INT
);

INSERT INTO passwording (passwording_username, passwording_date) VALUES('myUserName', 754254354);

插入密码

值('myUserName',754254354)

插入密码

值('myUserName',754254354)

这不是解决办法。看看问题(更新)这不是解决方案。看看这个问题(更新版)