如何将列名为“default”的数据插入数据库

问题描述 投票:0回答:5

我的数据库中有一个表,其中包含下一个 SQL 代码

CREATE TABLE `table` (
`id` INTEGER  PRIMARY KEY AUTO_INCREMENT NOT NULL,
`column1` VARCHAR(255) NOT NULL,
`column2` INTEGER  NULL,
`column3` INTEGER  NULL,
`column4` INTEGER  NULL,
`default` INTEGER  NULL
);

我可以使用

将数据插入其中
INSERT INTO `table` VALUES (1,'something',1,0,0,1)

并且它有效,但我的问题是如何输入特定值,问题是我有名称为

default
的列,并且 SQL 将该列名称解释为默认值。因此我不能使用像

这样的插入物
INSERT INTO `table` (id,column1,column2,column3,column4,default) VALUES (1,'something',1,0,0,1),

INSERT INTO `table` (id,column1,default) VALUES (1,'something',1),

或等等。

所以我的问题是: 是否可以将特定数据插入到列名默认的表中以及如何插入?是否可以在其他数据库上使用此功能?我正在使用 MySql 数据库。

提前致谢

mysql sql
5个回答
1
投票

尝试使用反引号转义列名称

default
,就像表名称一样。


1
投票

做你在桌子上做的同样的事情:

INSERT INTO `table` (`id`,`column1`,`default`) VALUES (1,'something',1),

1
投票

更换

默认

`default`

0
投票

您可以使用以下命令,它将允许您在默认列中插入值:

插入 `table` (id,column1,column2,column3,column4,`default`) VALUES (2,'something',1,0,0,1);

使用与您在表格中使用的默认引号相同的引号。


0
投票

对于 SQL,反引号

are not accepted in SSMS, square brackets [] are very commonly used in the automatic selections. try putting the column names in  square brackets. [DEFAULT].
INSERT INTO [MyTableName] ([id],[column1],[column2],[column3],[column4],[default]) VALUES (1,'something',1,0 ,0,1);`

© www.soinside.com 2019 - 2024. All rights reserved.