使用 VB.NET 应用程序手动创建 MySQL 触发器(语法错误)

Posted

技术标签:

【中文标题】使用 VB.NET 应用程序手动创建 MySQL 触发器(语法错误)【英文标题】:Create MySQL Trigger manually using VB.NET Application (Systax Error) 【发布时间】:2020-10-18 01:02:26 【问题描述】:

我是 mysql 触发器的新手。 我想使用我的 VB.NET 应用程序以编程方式创建 MySQL 触发器,所以首先我使用 MySQL Workbench 测试它创建一个查询,它是成功的,但是当我将查询复制到我的 VB.NET 应用程序并将其放在字符串变量上并尝试执行它。弹出错误提示我有语法错误。

DELIMITER $$
CREATE TRIGGER `updateProductPrice`
BEFORE UPDATE ON `list_events`
FOR EACH ROW
BEGIN
  IF NEW.caption <> OLD.caption
    THEN
      SET NEW.caption = 1;
  END IF ;
END$$
DELIMITER ;

【问题讨论】:

尽量不要设置分隔符.. 请在文本中提供错误,而不是在图像中。 成功了!正如你告诉我的那样,我只是删除了分隔符,我在工作台上遇到语法错误,但在我的 VB.NET 应用程序中它工作正常,这正是我所需要的。非常感谢您。 【参考方案1】:

正如 P.Salmon 所说,不要使用 DELIMITER

仅供参考

CREATE TRIGGER `updateProductPrice`
BEFORE UPDATE ON `list_events`
FOR EACH ROW
BEGIN
  IF NEW.caption <> OLD.caption
    THEN
      SET NEW.caption = 1;
  END IF ;
END

作为字符串变量的内容。

【讨论】:

成功了!正如你告诉我的那样,我只是删除了分隔符,我的工作台上出现语法错误,但在我的 VB.NET 应用程序中它工作正常,这正是我所需要的。非常感谢您。 这实际上是一个复杂的 lzlle mro,当你在查询窗口中时,你需要 DELIMITER,但是 wiorkbench 有一个特殊的窗口用于你不需要它们的 stpred 过程,你可以从 schem-databaseon左侧站点

以上是关于使用 VB.NET 应用程序手动创建 MySQL 触发器(语法错误)的主要内容,如果未能解决你的问题,请参考以下文章

vb.net动态设置gridview列的属性

如何使用 vb.net 2003 在 asp.net 1.1 中手动填充数据网格?

怎样用VB.NET 2005在mysql数据库中创建一张表?

VB.Net 应用程序无法连接到本地 MySQL,但我可以从命令连接

vb.NET SaveAs 不保存所有 Excel 数据

在 VB.NET 中为 MySql 和 MSSql 编程