Как объединить два столбца в новый в SQL?

У меня проблема при объединении двух столбцов в новый. Я просто хочу объединить столбцы IBAN и Currency_code в CheckSum. И когда я делаю SELECT * кажется.

DROP TABLE IF EXISTS transaccio;
CREATE TABLE transaccio (
IBAN varchar(255),
Currency_code varchar (255),
CheckSum varchar(255)
);

Я поднял два варианта, но ни один из них не работает.

Вариант первый:

INSERT INTO transaccio(CheckSum) SELECT (CONCAT(IBAN, Currency_code)) FROM transaccio;

Вариант второй: (написано, что не знаю, откуда взять IBAN и Currency_code)

INSERT INTO transaccio(CheckSum) VALUES (CONCAT(IBAN, Currency_code));

1

Решение

Вам нужно использовать Update запрос вместо Insert:

UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);

Однако, похоже, это Сгенерированный столбец проблема. В зависимости от вашего MySQL версия, вы можете использовать сгенерированные столбцы вместо.

PostgreSQL изначально не поддерживает сгенерированные столбцы / виртуальные столбцы еще. Вы можете отослать этот ответ: https://dba.stackexchange.com/a/183265/27070 эмулировать их в PostgreSQL

4

Другие решения

Вам понадобится инструкция UPDATE:

UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);
2