簡體   English   中英

為什么 ALTER TABLE(添加列)在此 SQL 代碼中不起作用?

[英]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.

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