2015-09-14 5 views
2

У меня есть таблица с базовой структурой ... column1, column2, column3.Конкатенация столбцов при импорте (MySQL/phpmyadmin)

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

Есть ли способ создания столбца, который эквивалентен CONCAT(column1, column2, column3) as column4, так что каждый раз, когда я импортирую эту таблицу, столбец4 будет заполнен автоматически?

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

Любая помощь будет оценена по достоинству.

Приветствие, Ste

+1

1. Создайте столбец 4 вручную. 2. Создайте ON ПЕРЕД ВСТАВКОЙ TRIGGER, который установит NEW.column4 = CONCAT (OLD.column1, OLD.column2, OLD.column3) – user4035

+3

** Не объединяйте эти поля в своей базе данных **. Если вы хотите, чтобы они были объединены, делайте это в запросе, который получает данные или на PHP при представлении данных. – RiggsFolly

+1

Это можно сделать с помощью триггера, но не нужно. Это плохая идея. –

ответ

4

Я не думаю, что вам нужно, чтобы создать дополнительный столбец в базе данных, а вы можете просто сделать то же самое, при отображении данных с использованием SELECT заявления,

SELECT column1, column2, column3, 
CONCAT(column1, column2, column3) as column4 
FROM table1; 
+0

+1000 Или сделайте конкатенацию в PHP, когда вы представляете эти данные пользователю – RiggsFolly

+0

@RiggsFolly, но я получил только +1, где находится отдых ... это обман .. LOL – Rahul

+0

LOL, если бы это было возможно! – RiggsFolly

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