MySQL工作台insert语句不工作

MySQL工作台insert语句不工作,mysql,insert,workbench,Mysql,Insert,Workbench,所以我最近一直在玩MySQL,作为MSSQL的长期用户,我对它有点陌生 我一直在使用工作台生成一些insert语句,虽然我确信它在出现问题之前就已经工作了 当我右键单击一个表并选择“发送到SQL编辑器”,然后选择“插入语句”时,它会给我一些SQL,如下所示: INSERT INTO `mybigtable`.`itemcollection` (`ID`, `Type`, `Name`, `Description`, `SomeID`) VALUES ( {ID: 123}, {Type: 1},

所以我最近一直在玩MySQL,作为MSSQL的长期用户,我对它有点陌生

我一直在使用工作台生成一些insert语句,虽然我确信它在出现问题之前就已经工作了

当我右键单击一个表并选择“发送到SQL编辑器”,然后选择“插入语句”时,它会给我一些SQL,如下所示:

INSERT INTO `mybigtable`.`itemcollection`
(`ID`,
`Type`,
`Name`,
`Description`,
`SomeID`)
VALUES
(
{ID: 123},
{Type: 1},
{Name: '123'},
{Description: '1234'},
{SomeID: 1}
);
这总是在ID值点抛出一个错误,表示它不理解:符号(请记住,我没有修改它生成的代码)。现在,我在网上看到的每一条针对MySQL的insert语句(以及我通常使用的insert语句)在值之前都没有名称,值只包含值。如果从值之前删除所有名称,insert语句就可以正常工作

因此,尽管我自己构建insert语句没什么问题,但“发送到SQL编辑器”却不起作用,这似乎很奇怪。我在这里漏了一步吗?我的设置中是否有可能出错?如果它不能实际使用字段名,为什么要在值之前生成字段名的SQL


呸,令人沮丧。

这些很可能是您手动输入自己值的位置的占位符。它不会自动知道要插入的值,因此无法为您填充整个查询。相反,它提供了示例值,以便您知道需要输入的数据类型,然后您需要自己指定数据。SQL Server执行相同的操作(右键单击表,将表脚本设置为,插入):

插入[5819338].[dbo].[Customer]
([ID]
,[姓名])
价值观
(
,)

我相信有一个快捷键可以显示一个弹出窗口,您可以在其中输入模板值。也许MySQL编辑器中也有类似的东西?我不知道。

这些很可能是您手动输入自己值的位置的占位符。它不会自动知道要插入的值,因此无法为您填充整个查询。相反,它提供了示例值,以便您知道需要输入的数据类型,然后您需要自己指定数据。SQL Server执行相同的操作(右键单击表,将表脚本设置为,插入):

插入[5819338].[dbo].[Customer]
([ID]
,[姓名])
价值观
(
,)

我相信有一个快捷键可以显示一个弹出窗口,您可以在其中输入模板值。也许MySQL编辑器中也有类似的东西?我不知道。

哦,那么大括号就像MSSQL中的括号一样?我想它们可能会被MySQL自动过滤掉。如果{ID:INT}与相同,那么没关系,我可以处理这个问题。我以为MySQL只是给了我那个insert语句,因为它过滤掉了括号和字段名,所以我不明白为什么它不起作用。干杯哦,所以大括号就像MSSQL中的括号一样?我想它们可能会被MySQL自动过滤掉。如果{ID:INT}与相同,那么没关系,我可以处理这个问题。我以为MySQL只是给了我那个insert语句,因为它过滤掉了括号和字段名,所以我不明白为什么它不起作用。干杯
INSERT INTO [5819338].[dbo].[Customer]
           ([ID]
           ,[Name])
     VALUES
           (<ID, int,>
           ,<Name, varchar(50),>)