【问题标题】:How to order INSERTs after TRIGGER-statements with MySQL Workbench如何使用 MySQL Workbench 在 TRIGGER 语句后订购 INSERT
【发布时间】:2014-01-24 18:24:56
【问题描述】:

好吧,伙计们,我的问题有点像第一世界的问题,但它困扰着我......

我正在使用 MySQL Workbench 设计我的 MySQL 数据库,在绘制所有表、触发器和 INSERTs 之后,我让 Workbench 为我生成 CREATE-SQL。这真的很酷,但问题出在:

我的触发器之一是 AFTER INSERT 触发器,它依赖于 INSERT I 也在 Workbench 中定义。但是因为触发器是在INSERTs 之后创建的,所以触发器不会触发。

当然,我可以打开一个文本编辑器并在触发后复制我的所有INSERTs,但是是的,这就是让我烦恼的地方。我也可以写一个脚本,但我的问题是:

我可以在 MySQL Workbench 中更改导出的CREATE-SQL 的顺序吗?

【问题讨论】:

  • 错误是什么?向我们展示您的脚本 - CREATE TABLE、CREATE TRIGGER...
  • 没有错误。 CREATE TRIGGER 语句就在 INSERT 语句之后,这就是触发器不触发的原因。所以就像我之前问的那样,我只想更改 CREATE 语句的顺序。

标签: mysql database mysql-workbench


【解决方案1】:

简短回答:不,您不能对这些语句重新排序。

长答案:模型中的 INSERT 数据不能用作数据库的通用数据存储,它们根本不是为此而设计的。它们的目的是允许在同步/正向工程之后输入测试数据。更好的方法是向您的模型添加一个单独的 SQL 脚本(有关注释和脚本,请参见概述页面)。完成同步后,您可以使用脚本运行其他代码。然而,我不得不承认,这些脚本的集成目前并不是那么好。您必须复制 sql 文本并将其粘贴到打开连接的编辑器中。

【讨论】:

  • 您好,感谢您的回答!由于我使用另一个同步工具加载 CREATE 脚本,因此也可以使用该工具加载附加脚本。我想我必须处理这个:) 再次感谢
猜你喜欢
  • 2012-10-26
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 2019-02-14
  • 2011-12-04
  • 1970-01-01
  • 2011-03-16
相关资源
最近更新 更多