创建TRIGGER 创建表时创建TRIGGER

2024-03-14

我有兴趣创建一个TRIGGER这创造了一个TRIGGER当创建表时。

在 mysql 数据库中浏览,我注意到模式的表返回为:

select TABLE_NAME, TABLE_SCHEMA from information_schema.TABLES;

以下是创建一个正确的方法吗TRIGGER,创建一个TRIGGER绑定到不同的模式?

DELIMITER //
CREATE TRIGGER `information_schema`.`argus_table_creation`
    AFTER INSERT on `TABLES`
    BEGIN
        --trigger here
        CREATE TRIGGER `argus`.`after_argus_insert` --create trigger bound to DB 'argus', titled 'after_insert'
        AFTER INSERT ON `argus_table_2013_06_27` FOR EACH ROW -- perform the trigger, `after insert`, on the `argus_table_2013_06_27` table, `for each row` that is inserted.
        BEGIN
                INSERT INTO argus.historic_argus_saddrdaddr(saddr, daddr)
                (
                SELECT saddr, daddr
                FROM (SELECT NEW.saddr, NEW.daddr) as derived
                WHERE NOT EXISTS (SELECT saddr, daddr FROM argus.historic_argus_saddrdaddr where historic_argus_saddrdaddr.saddr = derived.saddr and historic_argus_saddrdaddr.daddr = derived.daddr)
                );
        END//
    END//
DELIMITER;

推理:

我使用客户端应用程序(拉sql插入 http://qosient.com/argus/man/man1/rasqlinsert.1.pdf)自动创建与给定命名方案匹配的新表(您可以在其中使用 strftime(f))。我需要在这些自动生成的表生成时创建一个触发器。这就是我正在寻找解决方案的原因。

另一种可能的解决方案

是否可以建议软件开发人员使用类似于以下的命令CREATE TABLE n LIKE x,但是它有复制触发器吗?

附: 联系了开发者。将滚动更改3.0.7.11接受任意 SQL 来执行并创建新数据库。预计代码将在周一发布到开发仓库中。


您不能在表中设置触发器information_schema数据库。


您能提供一个引用吗? – mbrownyc

http://dev.mysql.com/doc/refman/5.1/en/information-schema.html http://dev.mysql.com/doc/refman/5.1/en/information-schema.html

MySQL 5.1 参考手册

第 20 章 INFORMATION_SCHEMA 表

INFORMATION_SCHEMA 数据库的使用说明

INFORMATION_SCHEMA 是每个 MySQL 实例中的一个数据库,用于存储有关 MySQL 服务器维护的所有其他数据库的信息。 INFORMATION_SCHEMA 数据库包含多个只读表。它们实际上是视图,而不是基表,因此没有与它们关联的文件,并且你不能在它们上设置触发器.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建TRIGGER 创建表时创建TRIGGER 的相关文章

  • PMA 4.5.2.0 file_exists():open_basedir 限制生效

    从 PPA 在我的 Ubuntu 服务器上安装 phpMyAdmin 后 https launchpad net nijel archive ubuntu phpmyadmin https launchpad net nijel archi
  • 本地数据库缓存的最佳实践?

    我正在开发一个应用程序 该应用程序的部分内容依赖于 MySQL 数据库 在某些情况下 应用程序将在互联网连接 UMTS 有限的环境中运行 特别是延迟较高的环境 应用程序的用户能够登录 并且应用程序用户界面的大部分内容都是从 MySQL 数据
  • 如何在 join 语句中进行计数

    我有桌子post int post id varchar title text content和表comment int comment id int post id varchar content其中 post id 是外键引用表帖子 如
  • 数据表 - 服务器端处理 - 数据库列合并

    我目前正在使用 DataTables 1 10 5 服务器端处理功能 http www datatables net examples data sources server side html http www datatables ne
  • 更新plpgsql中触发器函数中的多列

    给出以下架构 create table account type a id SERIAL UNIQUE PRIMARY KEY some column VARCHAR create table account type b id SERIA
  • Postgresql插入触发器设置值

    假设在 Postgresql 中 我有一个表T它的一栏是C1 我想在新记录添加到表中时触发一个函数T 该函数应该检查列的值C1在新记录中 如果它为 null 空 则将其值设置为 X 这可能吗 您需要触发器是正确的 因为为列设置默认值对您不起
  • 高效插入和更新时检查唯一性

    我的员工表中有 2 列 每列值必须是唯一的 staff code staff name staff id staff code staff name 1 MGT Management 2 IT IT staff 当向表中插入或更新项目时 我
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • SQL:查找每个跑步者跑步之间的平均天数

    因此 如果我们给出下表 runner ran Carol 2011 02 01 Alice 2011 02 01 Bob 2011 02 01 Carol 2011 02 02 Bob 2011 02 02 Bob 2011 02 03 B
  • 在JavaFX中如何在表视图中添加带有数据的组合框

    我已经尝试了很多 但无法将数据库中的所有值填充到我的组合框表格单元格中 控制器 java public class controller GetConnection gc new GetConnection PreparedStatemen
  • INNER JOIN 可用作 SELECT,但不能用作 DELETE [重复]

    这个问题在这里已经有答案了 为什么这个有语法错误 DELETE FROM print mailing request pmr INNER JOIN person p ON p id pmr person AND p email LIKE T
  • 使用 MySQLdb 在 Python 中执行 .sql 文件

    我有一个 sql 文件 其中包含一堆 SQL 查询 每个查询跨越多行 我想通过 Python 在 MySQL 中执行这些查询MySQLdb sqlite3为此目的有一个 非标准快捷方式 称为executescript http docs p
  • 错误代码 13,SELECT INTO OUTFILE 问题

    我试图了解使用 INTO OUTFILE 命令时不断遇到问题的原因 我总是收到这个错误 ERROR 1 HY000 Can t create write to file var www p1 txt Errcode 13 SELECT pa
  • 如何编写 bash 函数来包装另一个命令?

    我正在尝试编写一个函数包装器mysql command If my cnf存在于 pwd 中 我想自动附加 defaults file my cnf到命令 这就是我正在尝试的 function mysql if e my cnf then
  • MySQL 和 MariaDB 数据库有什么区别?

    我已经使用 XAMPP 很长时间了 很惊讶 XAMPP 已经从 MySQL 切换到了 MariaDB https www apachefriends org index html https www apachefriends org in
  • mysqldb接口错误

    我对 mysqldb python 的 mysql 模块 有一个非常奇怪的问题 我有一个文件 其中包含用于在表中插入记录的查询 如果我从文件中调用函数 它就可以正常工作 但是当尝试从另一个文件调用其中一个函数时 它会抛出一个 mysql e
  • MySQL 使用 DATE_ADD 设置 DATE 列的默认值?

    我正在尝试使用表达式将 DATE 列添加到具有 DEFAULT DATE 值的表中 ALTER TABLE wp ezts project params ADD est completion DATE NOT NULL DEFAULT DA
  • 将java应用程序与在线托管的mysql数据库连接

    我已经用java构建了一个应用程序 应用程序是一个 将在3个不同的系统上使用 因此 该应用程序的数据库必须在线 以使所有 3 个应用程序都具有最新的数据库 In starting I developed my application bas
  • MySQL 中的类型:BigInt(20) 与 Int(20)

    我想知道两者之间有什么区别BigInt MediumInt and Int是 很明显 它们会允许更大的数量 不过 我可以做一个Int 20 or a BigInt 20 这会让人觉得这并不一定与尺寸有关 一些见解会很棒 只是有点好奇 我一直
  • 在 Java Web 应用程序中获取 DataSource 资源

    我的 context xml 文件中有以下资源标记

随机推荐