2014-12-29 6 views
1

Я хочу создать 2 таблицы:Mysql Таблица ссылок обновления

Таблица error_ref

err_code - int  - primary key auto increment 
description - varchar - not null 

ошибка Таблица

id   - int  - primary key auto increment 
cs   - varchar - not null 
ip   - varchar - not null 
operator - varchar - 
source  - varchar - 
type  - varchar - 
err_code - int  - not null, references error_ref(err_code) 
description - varchar - THERE IS MY QUESTION 
date_poll - datetime - 

Я хочу правильный error_ref (описание), чтобы быть скопировано в ошибку (описание), когда err_code установлен в ошибке (описание)

Должен ли я делать запрос SQL каждый раз, когда я хочу, чтобы он был скопирован, или я могу использовать некоторые свойства ключа, чтобы заставить его скопировать себя?

данные в error_ref таблицы будут выглядеть следующим образом:

  1. соединение SSH не удалось
  2. SNMP сообщества не установлен
  3. Нет ответа от пинга

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

+1

Использование MySQL ТРИГГЕРЫ ... http://dev.mysql.com/doc/refman/5.5/en/ trigger-syntax.html –

+0

Вы не должны дублировать описание в таблице 'error'. Используйте 'JOIN', чтобы получить описание из' error_ref', когда вам это нужно. – Barmar

+0

Да, я это знаю. Лучшей практикой является использование связей mysql для получения данных. Но это не из-за моей реакции. Я уже пытался защитить эту точку зрения ... –

ответ

0

Я должен добавить где-то в моем коде запрос, как этот один:

UPDATE error, error_ref 
SET error.description= error_ref.description 
WHERE error.err_code= error_ref.err_code 
Смежные вопросы