Создать TRIGGER для создания TRIGGER при создании таблицы

Я заинтересован в создании 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;

Обоснование:

Я использую клиентское приложение ( rasqlinsert), которое автоматически создает новые таблицы, соответствующие заданной схеме именования (где вы можете использовать strftime(f)). Мне нужно создать триггер для этих автоматически сгенерированных таблиц по мере их создания. Вот почему я ищу решение.

Другое возможное решение

Можно ли посоветовать разработчику программного обеспечения использовать команду, аналогичную CREATE TABLE n LIKE x, но есть ли копирование триггеров?

PS связался с дев. Свернутся поменяны с 3.0.7.11 принять произвольный SQL для выполнения наряду с созданием новой БД. Ожидается, что к понедельнику код достигнет репо.

1 ответ

Решение

Вы не можете установить триггеры для таблиц в information_schema база данных.


Можете ли вы привести цитату? - mbrownnyc

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 содержит несколько таблиц только для чтения. Они на самом деле являются представлениями, а не базовыми таблицами, поэтому с ними не связано никаких файлов, и вы не можете устанавливать на них триггеры.

Другие вопросы по тегам