0

我已经创建了一个 vehicle_unit 表

 CREATE TABLE vehicle_unit (
 garage_code NUMERIC(2) NOT NULL,
 vunit_id  NUMERIC(6) NOT NULL,
 vunit_purchase_price NUMERIC(7,2),
 vunit_exhibition_flag CHAR(1) NOT NULL,
 vehicle_insurance_id VARCHAR(20) NOT NULL,
 vunit_rego VARCHAR(8) NOT NULL
);

并在其中插入了一些值:

INSERT INTO vehicle_unit(vunit_purchase_price,vunit_exhibition_flag,vehicle_insurance_id,vunit_rego,vunit_id, garage_code)
SELECT 50000.00, 'R', 'sports-ute-449-12b', 'RD3161',garage_count_vehicles, garage_code
FROM garage
WHERE garage_email='caulfield@rdbms.example.com';

如果我想添加一个名为 condition_flag 的 NON NULL 列,我该如何更改这个实时数据库?我是否使用alter table?但是如何插入这个新值?

编辑:我尝试了“更改表”,但我得到一个错误,说表必须为空才能添加强制(非空)列。

4

1 回答 1

0

ALTER ... NOT NULL语句之前,更新所有现有记录以具有值(如果它们已经没有值)。然后发出你的ALTER ... NOT NULL,或者 JNevill 已经推荐的,也添加一个DEFAULT子句(这将使你免于修改在 s 期间可能不提供值的代码INSERT)。

于 2019-05-30T15:02:59.743 回答