所以我最近一直在玩MySQL,而且作为MSSQL的长期用户,我对它有点新鲜。
我一直在使用工作台来生成一些插入语句,虽然我确定它在它现在遇到麻烦之前就已经有效了。
当我右键单击一个表并选择“发送到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语句可以正常工作。
因此,如果我自己构建插入语句就可以,但是“发送到SQL编辑器”似乎没有用。我在这里错过了一步吗?我的设置中有什么东西可能有问题吗?如果实际使用它们,为什么它会在值之前使用字段名生成SQL?
呸,令人沮丧。
答案 0 :(得分:1)
这些最有可能是您手动输入自己值的占位符。它不会自动知道您要插入的值,因此无法为您填充整个查询。相反,它为您提供示例值,以便您知道需要输入什么类型的数据,然后您需要自己指定数据。 SQL Server做同样的事情(右键单击表,脚本表为,插入):
INSERT INTO [5819338].[dbo].[Customer]
([ID]
,[Name])
VALUES
(<ID, int,>
,<Name, varchar(50),>)
我相信有一个快捷键可以显示一个弹出窗口,您可以在其中输入模板值。也许在MySQL编辑器中有类似的东西?我不知道。