【问题标题】:MySQL workbench insert statement not workingMySQL工作台插入语句不起作用
【发布时间】:2011-06-17 04:23:27
【问题描述】:

所以我最近一直在玩 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 的每个插入语句(以及我通常习惯的插入语句)在值之前都没有名称,这些值只包含值。如果我从值之前删除所有名称,则插入语句可以正常工作。

因此,虽然我可以自己构建插入语句,但“发送到 SQL 编辑器”不起作用似乎很奇怪。我在这里错过了一步吗?我的设置中是否有某些错误?如果它不能实际使用它们,为什么它会在值之前生成带有字段名称的 SQL?

呸,令人沮丧。

【问题讨论】:

    标签: mysql insert workbench


    【解决方案1】:

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

    INSERT INTO [5819338].[dbo].[Customer]
               ([ID]
               ,[Name])
         VALUES
               (<ID, int,>
               ,<Name, varchar(50),>)
    

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

    【讨论】:

    • 哦,所以花括号就像 MSSQL 中的 括号?我认为它们可能会被 MySQL 自动过滤掉。如果 {ID: INT} 与 相同,那没关系,我可以处理。我认为 MySQL 只给了我那个 insert 语句,因为它过滤掉了括号和字段名称,因此我很困惑为什么它不起作用。干杯!
    猜你喜欢
    • 2011-07-28
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多