Mysql 如何将列名称为“的数据插入数据库”;“违约”;

Mysql 如何将列名称为“的数据插入数据库”;“违约”;,mysql,sql,Mysql,Sql,我的数据库中有一个包含下一个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 `

我的数据库中有一个包含下一个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),

等等

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


提前感谢

尝试使用反勾号转义列名
默认值
,就像您对表名所做的那样。

执行与您在表上所做的相同操作:

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

默认值


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

在“table”(id,column1,column2,column3,column4,`default`)中插入值(2,'something',1,0,0,1)


在默认值上使用与您用于表相同的引号。

这是一个非常糟糕的列名。(表是一个非常糟糕的表名。)“defualt”是ANSI SQL的方式,MySQL可能会使用反勾号。@jarlh好吧,我不是数据库的设计者,我从来没有在列名中使用过这种名称。我只是想找出将数据插入此类表的正确方法。以前继承了数据库。。。我感觉到你的痛苦!
INSERT INTO `table` (`id`,`column1`,`default`) VALUES (1,'something',1),
`default`