为什么 ALTER TABLE(添加一列)在此 SQL 代码中不起作用?

Why isn't ALTER TABLE (adding a column) working in this SQL code?

假设我有一个像这样的table(称为numbers

A B
1 3
4 4
5 5

我想创建一个新列 C,其中包含值 A / B。 IE。看起来像:

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);

为什么要进行算术运算然后将值存储为字符串对我来说是个谜,但这是允许的。

Here 是一个 db<>fiddle,恰好用到了 MySQL.