如何在sql中将两列连接成一个新列?

hts6caw3  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(409)

我在将两列合并为新列时遇到问题。我只想把iban列和currency\u代码连接成校验和。当我做出决定的时候 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;

选项二:(上面说不知道从哪里得到国际银行账号和货币代码)

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

vu8f3i0k1#

你需要使用 Update 查询而不是 Insert :

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

然而,这似乎是一个生成列的问题。根据mysql版本的不同,可以改用生成的列。
postgresql还不支持本机生成的列/虚拟列。您可以参考以下答案:https://dba.stackexchange.com/a/183265/27070 在postgresql中模仿它们

lmyy7pcs

lmyy7pcs2#

您将需要更新语句:

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

相关问题