我有INVOICE
TABLE
我想通过不指定列名来插入值SQL Server
,我已经尝试过了,但它不起作用..请帮助
INSERT INTO INVOICE
VALUES( 1,1,KEYBOARD,1,15,5,75)
我有INVOICE
TABLE
我想通过不指定列名来插入值SQL Server
,我已经尝试过了,但它不起作用..请帮助
INSERT INTO INVOICE
VALUES( 1,1,KEYBOARD,1,15,5,75)
只要您在 INSERT 语句中有正确的列数,并且除了 KEYBOARD 之外的所有值都是某种数字数据类型,并且只要您具有适当的权限,这应该可以工作。
INSERT INTO INVOICE VALUES( 1,1,'KEYBOARD',1,15,5,75);
SQL 要求在文本值周围加上单引号。
但不使用列名不是一个好习惯。人们改变表中列的顺序并非闻所未闻。更改列的顺序也不是一个好习惯,但有些人还是坚持这样做。
如果有人这样做,并交换表中的第 5 列和第 7 列,您的 INSERT 语句仍然会成功——这两列都是数字的——但 INSERT 会搞砸你的数据。
你为什么想做这个?不指定列名是不好的编码习惯。
但是,在您的情况下,keyboard
需要用单引号括起来:
INSERT INTO INVOICE VALUES( 1,1, 'KEYBOARD',1,15,5,75)
如果您只是不想键入列名,则可以在 SQL Server Management Studio 中轻松获取它们。打开“对象浏览器”,打开数据库,然后选择“表”。选择Invoice
表。选项之一是“列”。
只需单击“列”名称(无需打开它)并将其拖到查询窗口中。它将插入列列表。
是的,您可以直接将值插入表中,如下所示:
insert into `schema`.`tablename` values(val1,val2,val3);
INSERT INTO INVOICE VALUES( 1,1,'KEYBOARD',1,15,5,75);
您忘记在键盘中包含单引号,在 sql 中文本需要单引号