[英]Why isn't ALTER TABLE (adding a column) working in this SQL code?
假設我有一個像這樣的表(稱為numbers
)
A B
1 3
4 4
5 5
我想創建一個新列C
,它由值A / B
組成。 即看起來像這樣的東西:
A B C
1 3 0.33
4 4 1
5 5 1
我嘗試了這段代碼,但它不起作用。 有誰知道為什么?
ALTER TABLE numbers ADD C VARCHAR(50) NOT NULL INSERT INTO numbers (C) VALUES (A / B)
聽起來您想要一個生成的列。 語法因數據庫而異,但通常是這樣的:
ALTER TABLE numbers ADD C VARCHAR(50) GENERATED ALWAYS AS (A / B);
為什么要進行算術運算然后將值存儲為字符串對我來說是個謎,但這是允許的。
這是一個 db<>fiddle,恰好使用了 MySQL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.