问题描述
我想写一个聊天室机器人,定时自动执行sql语句向数据库Room_List表插入一条数据。按这个插入语句:insertinto表名(字段1,字段2)values('内容1','内容2')进行插入INSERTINTO[Room_List](UserID,Sid,UserNick,Text,AddTime)VALUES("76368","0","测试会员","我是新手,请多关照","2016-6-523:59:30")报错提示Thename'76368'isnotpermittedinthiscontext.Onlyconstants,expressions,orvariablesallowedhere.Columnnamesarenotpermitted.表结构如下ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Room_List]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[Room_List]GOCREATETABLE[dbo].[Room_List]([id][int]IDENTITY(1,1)NOTNULL,[Lx][int]NOTNULL,[UserID][int]NOTNULL,[Sid][int]NOTNULL,[UserNick][nvarchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Text][nvarchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,[AddTime][datetime]NOTNULL)ON[PRIMARY]GO插入不了,不知道完整的插入语句是怎么样。插入语句是否还要按字段类型转换。麻烦好心人帮帮我,搜索了很多捣鼓了两天了没结果
解决方案
解决方案二:
为什么是双引号,改单引号试试
解决方案三:
int类型不用引号,直接写数字。而且主键是id,IDENTITY(1,1)是说从1开始,每次自动加1,你设置上76368不符合逻辑吧
解决方案四:
NOTNULL字段除了设置IDENTITY其他必须填上
解决方案五:
INSERTINTO[Room_List](UserID,Sid,UserNick,Text,AddTime)VALUES(76368,"0","测试会员","我是新手,请多关照","2016-6-523:59:30")去掉76368的双引号,你这边是报错了这个,还有个问题是不是你的Lx字段是不允许空的,你是不是也应该给他加上赋值?
解决方案六:
引用1楼xdashewan的回复:
为什么是双引号,改单引号试试
谢谢这位朋友。确实是单引号。不过我想知道怎么输入语句显示当前时间,而不是直接写2016-6-523:59:30进去呢
解决方案七:
引用5楼admn10086的回复:
Quote: 引用1楼xdashewan的回复:
为什么是双引号,改单引号试试谢谢这位朋友。确实是单引号。不过我想知道怎么输入语句显示当前时间,而不是直接写2016-6-523:59:30进去呢
INSERTINTO[Room_List](UserID,Sid,UserNick,Text,AddTime)VALUES('76368','0','测试会员','我是新手,请多关照',getdate())
解决方案八:
1.数字不要加单引号2.自增字段不需要不用写。希望对你有帮助求分嘿嘿