我已经创建了一个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吗?但是如何插入这个新值?
编辑:我尝试使用“更改表”,但出现错误,指出表必须为空才能添加强制性(非空)列。
答案 0 :(得分:0)
在ALTER ... NOT NULL
语句之前,将所有现有记录更新为具有值(如果它们尚未包含)。然后发出您的ALTER ... NOT NULL
,或者按照JNevill的建议,还添加一个DEFAULT
子句(这将使您不必修改可能在INSERT
内未提供值的代码)。