2013-12-13 6 views
0

Я пытаюсь заменить значение его внешним ключом (из другой таблицы), автоматически при вставке. Я понимаю, что лучший способ сделать это, вероятно, с созданием триггера на вставке, в первый раз с запуском.mysql - заменить значение с помощью внешнего ключа автоматически при вставке

Пример: Fam_table

ID (Key) Family 
1  Jordan 
2  White 

insert into Full_table values ('Adam','white'); 

Я хочу, чтобы "Белый", чтобы заменить 2 ...

ответ

0

Вы можете сделать это без триггеров, как этот

INSERT INTO full_table 
SELECT 'Adam', id 
    FROM fam_table 
WHERE family = 'White' 
LIMIT 1 

Вот SQLFiddle demo

+0

Спасибо за помощь! ... Мой пример был немного прост. Вы можете описать, как это сделать с помощью триггера? – user3100278

+0

Вы вполне приветствуетесь :) Если бы это было то, что вы искали, рассмотрите ** [accept] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer- работа) ** ответ. – peterm

+0

Теперь вы не можете сделать это с помощью триггера, потому что в этом случае вам придется использовать тип данных 'VARCHAR' для столбца' family' в 'full_table', который является бессмыслицей сам по себе и не позволит вам используйте ограничения внешнего ключа. – peterm

Смежные вопросы