2013-03-27 7 views
-1

У меня есть три таблицы A, B и C.Несколько операторов вставки в MySQL с помощью триггера с Loop

таблица имеет столбцы Aid, Aname

В таблице есть Bid, помощь, Aname, Сид, CNAME

с таблицей имеет Сид, CNAME

с этой таблицей статической таблицы и имеет 6 записей (в будущем это может увеличить)

Требования, когда данные, полученные вставлены в таблице A, T hen B Таблица должна обновляться с помощью Aid и всех строк Cid с max + 1 Bid.

для каждой записи вставки в таблицу, Там должно быть 6 записей, вставленные в таблице B (так как есть 6 записей в таблице C)

ли это возможно в MySQL с помощью триггера?

+1

ли вы на самом деле попробовать что-нибудь? – Jocelyn

+0

Да, мы получили решение, подобное описанному здесь. – user2214640

ответ

0

Да это возможно с помощью триггера

CREATE TRIGGER b_update_trigger BEFORE INSERT ON b 
FOR EACH ROW BEGIN 
    ... 
END 

однако вы действительно не должны дублировать данные. Вы должны сохранить AName в table A и CName в table C.

Затем вы можете присоединиться к ним, чтобы получить тот же результат:

SELECT b.bid, a.aid, a.aname, c.cid, c.cname FROM b 
INNER JOIN a 
    ON a.aid = b.aid 
INNER JOIN c 
    ON c.cid = b.cid 
Смежные вопросы