繁体   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