【问题标题】:MySQL Workbench 6.0 - incorrect syntax templateMySQL Workbench 6.0 - 不正确的语法模板
【发布时间】:2017-03-22 01:02:43
【问题描述】:

我是使用 MySQL Workbench 的新手,实际上我现在正在发现它。

我找不到清晰的教程或文档来解释为什么是这种语法。

我有一个名为 chefs 的表,其中包含 id、name 和 country 列。我想使用 MySQL Workbench 填充此表,按照教程,我最终右键单击要插入的表,然后单击“发送到 SQL 编辑器”,然后单击“插入语句”。当我这样做时,我的查询屏幕上会出现一个模板,如下所示:

INSERT INTO `cooking_book_new`.`chefs`
(`id`,
`name`,
`country`)
VALUES
(<{id: }>,
<{name: }>,
<{country: }>);

我已经检查并验证,如果我使用用于 mysql 的常规语法,它会插入行:

INSERT INTO chefs (id, name, country) VALUES (1, 'chef1', 'Country1');

但是,由于尝试使用这个软件的全部目的是让一切变得更容易,我想知道它为什么准备那个查询,以及我应该如何在那里引入数据。

我试过这个:

INSERT INTO `cooking_book_new`.`chefs`
(`id`,
`name`,
`country`)
VALUES
(<{1}>,
<{'chef1'}>,
<{'country1'}>);

还有这个:

INSERT INTO `cooking_book_new`.`chefs`
(`id`,
`name`,
`country`)
VALUES
(<{id:1 }>,
<{name:'chef1' }>,
<{country:'country1' }>);

但一切似乎都错了。有谁知道如何使用这种语法?我知道我可以像我测试过的那样进行查询:

   INSERT INTO chefs (id, name, country) VALUES (1, 'chef1', 'Country1');

但如果我了解 MySQL 工作台的工作原理会更好。

谢谢!

【问题讨论】:

  • 这些只是代表值。 TBH,我只使用过一次 Workbench,并不喜欢它,因为我喜欢对所有内容进行硬编码。 &lt;{}&gt; 可能是该程序的适当性。它的帮助文件中必须有一些文档。

标签: php mysql database insert workbench


【解决方案1】:

Workbench 的手册可能包含对它的解释,但鉴于它是如此之大,它(可能)需要(我)更长的时间来继续搜索,就像我所做的那样,并在他们的网站上找到具有相似语法的东西。

按照说明书:

https://dev.mysql.com/doc/workbench/en/wb-generating-sql.html

&lt;{}&gt; 只是表示(表达式)值。

例如:

更新声明

UPDATE `sakila`.`actor`
SET
`first_name` = <{first_name}>
WHERE <{where_expression}>;

让我们看一下INSERT的手册:

http://dev.mysql.com/doc/refman/5.7/en/insert.html

您不会使用{VALUES | VALUE} 或其他[...] 对吧?这些是“选项”。

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name,...)]
    [(col_name,...)]
    {VALUES | VALUE}

您可以用正确的语法替换那些“代表性”值,这需要与参考手册一起使用。

【讨论】:

  • 抱歉 Fred -ii- ,我理解的东西真的很慢:/ 所以,当我点击表格并“插入语句”并出现这样的:INSERT INTO cooking_book_new.chefs (@ 987654330@, name, country) 值 (, , );我必须做什么?我明白你是说 只是代表性的,所以它不应该像这样工作吗?插入cooking_book_new.chefs (id, name, country) 值 (1, 'chef1', 'france');如果我现在应该明白了……别担心,我暂时把这个软件放在一边了……谢谢!
  • @eve_mf 我明白了,你会明白的。软件一开始可能有点难以掌握;我已经在同一条路上走了几次,但有时它们并不容易,因为它是一款如此复杂的软件。您在问题INSERT INTO chefs (id, name, country) VALUES (1, 'chef1', 'Country1'); 中写的是基本语法。如果使用保留字或包含空格和/或连字符,则刻度 ` 主要用于表/列周围。 (不客气)。如果某些东西不起作用,请检查错误,因为可能存在限制或其他问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 2015-03-01
  • 1970-01-01
  • 2016-01-26
相关资源
最近更新 更多