我INVOICE TABLE
想通过不指定列名来插入值SQL Server,我试过这个但是它不起作用.请帮忙
INSERT INTO INVOICE
VALUES( 1,1,KEYBOARD,1,15,5,75)
Run Code Online (Sandbox Code Playgroud)
Mik*_*ll' 30
只要INSERT语句中有正确的列数,并且只要除KEYBOARD之外的所有值都是某种数值数据类型,并且只要您具有适当的权限,这应该有效.
INSERT INTO INVOICE VALUES( 1,1,'KEYBOARD',1,15,5,75);
Run Code Online (Sandbox Code Playgroud)
SQL需要围绕文本值使用单引号.
但是不使用列名称不是一个好习惯.人们改变表中列的顺序并不是闻所未闻.改变列的顺序也不是一个好习惯,但有些人仍然坚持这样做.
如果有人这样做,并交换表中的第5列和第7列,那么INSERT语句仍然会成功 - 这些列都是数字 - 但INSERT会搞砸你的数据.
你为什么想做这个?不指定列名是错误的编码实践.
但是,在您的情况下,keyboard需要用单引号括起来:
INSERT INTO INVOICE VALUES( 1,1, 'KEYBOARD',1,15,5,75)
Run Code Online (Sandbox Code Playgroud)
如果您只是不想键入列名,可以在SQL Server Management Studio中轻松获取它们.打开"对象浏览器",打开数据库,然后选择"表".选择Invoice表格.其中一个选项是"列".
只需单击"列"名称(无需打开)并将其拖到查询窗口中即可.它将插入列列表.
小智 7
是的,您可以直接将值插入表中,如下所示:
insert into `schema`.`tablename` values(val1,val2,val3);
Run Code Online (Sandbox Code Playgroud)
INSERT INTO INVOICE VALUES( 1,1,'KEYBOARD',1,15,5,75);
Run Code Online (Sandbox Code Playgroud)
您忘记在键盘中包含单引号,sql 中的文本需要单引号
| 归档时间: |
|
| 查看次数: |
57815 次 |
| 最近记录: |