将两列合并为新列时遇到问题。我只想将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));
答案 0 :(得分:4)
您需要使用Update
查询而不是Insert
:
UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);
但是,这似乎是一个Generated Column问题。根据您的 MySQL 版本,您可以改用Generated Columns。
PostgreSQL 本身还不支持生成的列/虚拟列。您可以参考以下答案:https://dba.stackexchange.com/a/183265/27070以在PostgreSQL中进行仿真
答案 1 :(得分:2)
您将需要UPDATE语句:
UPDATE transaccio
SET CheckSum = CONCAT(IBAN, Currency_code);