我的数据库中有一个表,其中包含下一个 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 数据库。
提前致谢
尝试使用反引号转义列名称
default
,就像表名称一样。
做你在桌子上做的同样的事情:
INSERT INTO `table` (`id`,`column1`,`default`) VALUES (1,'something',1),
更换
默认
与
`default`
您可以使用以下命令,它将允许您在默认列中插入值:
插入 `table` (id,column1,column2,column3,column4,`default`) VALUES (2,'something',1,0,0,1);
使用与您在表格中使用的默认引号相同的引号。
对于 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);`