簡體   English   中英

SQL 插入值列,其中值來自另一列

[英]SQL Insert values column where values is from another column

在此處輸入圖片說明

我在 MySQL 中有一個這樣的表,我想將值添加到kodeunik列中,其中該值是KodeDaerahNomorKode的組合

kodeunik列的預期輸出:

Bank BCA       101    00   0003   101000003

Bank BCA PT    101    00   0003   101000001

Bank BNI       101    00   0003   101000004

題:

  1. 這樣查詢怎么辦?

  2. 是否可以將kodeunik作為主鍵?

沒有必要這樣做; 您可以簡單地動態生成值:

SELECT *, CONCAT(Kode, Daerah, NomorKode) AS kodeunik
FROM yourTable

或創建一個VIEW

CREATE VIEW yT_ke AS
    SELECT *, CONCAT(Kode, Daerah, NomorKode) AS kodeunik
    FROM yourTable;
SELECT * FROM yT_ke

輸出(對於兩個查詢):

JenisPerkiraan  Kode    Daerah  NomorKode   kodeunik
Bank BCA        101     00      0003        101000003
Bank BCA PT     101     00      0001        101000001
Bank BNI        101     00      0004        101000004

如果你想要這個組合字段的主鍵,只需將它添加到 3 列上:

 ALTER TABLE yourTable ADD PRIMARY KEY (Kode, Daerah, NomorKode)

dbfiddle 上的演示

  1. 您可以使用Update查詢來實現它。
    UPDATE your_table_name
    SET kodeunik = concat(`Kode`, `Daerah`, 'NomorKode`)
  1. 如果您確保kodeunik值是唯一的,您還可以將其設為主鍵。

Mysql 有CONCAT()函數。 在您的情況下,您可以嘗試:

select CONCAT(Kode, Daerah, NomorKode) from <your_table_name>;

如果這是您想要的,您可以使用子查詢來更新它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM