Member 13027553 Ответов: 0

Триггер Mysql для сводной таблицы


Привет,

Дело в том, что у меня есть две системы, берущие данные из двух таблиц. из-за отсутствия правильной структуры БД.

Вот первая таблица для страницы администратора CodeIgniter.

╔═════╦═════════════╦══════════════╗
║ ID  ║ ProductName ║ ProductValue ║
╠═════╬═════════════╬══════════════╣
║ 1   ║ A           ║           10 ║
║ 2   ║ B           ║           20 ║
║ 3   ║ C           ║           30 ║
...
║ 26  ║ Z           ║          260 ║
╚═════╩═════════════╩══════════════╝


а вот таблица для другой системы. Это структура, с которой система чувствует себя комфортно:

╔════╦════╦════╦════╦════════╦═════╗
║ A  ║ B  ║ C  ║ D  ║ ...... ║  Z  ║
╠════╬════╬════╬════╬════════╬═════╣
║ 10 ║ 20 ║ 30 ║ 40 ║ ...... ║ 260 ║
╚════╩════╩════╩════╩════════╩═════╝



Я не уверен, что это лучший метод для достижения этой цели.

Но я думаю о том, чтобы иметь триггер в первой таблице, чтобы всякий раз, когда кто-то редактирует значение продукта, он находил это название продукта в столбце второй таблицы и обновлял вторую строку этого столбца.

Что я уже пробовал:

Поворачивая первый стол, чтобы он мог работать с системой.
Открепление второй таблицы для правильного отображения CodeIgniter на экране.

Пока что у меня есть:

DELIMITER $$
CREATE TRIGGER after_update
	AFTER UPDATE ON table1
	FOR EACH ROW
BEGIN
	INSERT INTO table2
	SET action = 'update',
	WHERE `ProductName` = ProductName.Value //I want it to match the productname value with the column as in table2 that will the column name.

// Next, I want it to write the value of Productvalue to the second row of table2 I can add a primary key `id` to the second column, to make things easier
	
END$$
DELIMITER;

0 Ответов