【问题标题】:Creating triggers in phpmyadmin在 phpmyadmin 中创建触发器
【发布时间】:2018-03-04 17:37:48
【问题描述】:

我正在尝试在我的 mysql 数据库表上创建一个触发器。我正在编写以下代码:

CREATE TRIGGER before_delete BEFORE DELETE ON billingrates FOR EACH ROW;

但是当我运行它时,我收到以下错误:

#1064 - 您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 第 2 行的 '' 附近

请指导我。感谢期待。

【问题讨论】:

  • 您能详细说明什么是触发体和触发顺序吗?也是强制性的吗?我阅读了该文档,但我无法完全理解它。我对此并不陌生。很抱歉给您带来麻烦。
  • 您没有指定触发器的主体。你想做什么
  • 其实我想取消自动删除行。当我询问这个​​问题时,我得到了一个编写触发器的解决方案。
  • 完全不清楚你想做什么。您能否指定您的触发器应该做什么以及应该触发它的表。-我认为自动取消行与您的问题无关。

标签: php mysql triggers phpmyadmin


【解决方案1】:

请尝试以下代码。

CREATE TRIGGER `before_delete` BEFORE DELETE ON `barcode_master` 
FOR EACH ROW BEGIN 
UPDATE library_emp_master SET job_type = 1 WHERE barcode_no =   OLD.barcode_no; 
END;

【讨论】:

  • 给我这个错误:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行 @Jalpa 的 '' 附近使用
  • @rushikulkarni 请提供另一个要触发的表。请检查我的答案。
  • @rushikulkarni 我添加了触发器以在删除barcode_master表时更改library_emp_master
【解决方案2】:

假设身体触发。让我们在删除之前进行备份

DELIMITER $$ CREATE TRIGGER before_delete BEFORE DELETE ON billingrates FOR EACH ROW BEGIN INSERT INTO table_name VALUES(old.column1); End $$

【讨论】:

    猜你喜欢
    • 2015-10-14
    • 2017-08-27
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2012-11-15
    • 2012-07-14
    相关资源
    最近更新 更多