添加新列时更新旧记录

Update older records when a new column is added

在我的系统中,客户会填写他们的信息来注册一个帐户。对于新注册,记录将包含一个新的复选框选项。

我的问题是,如何更新旧记录,以便它们包含已添加的复选框选项的选中值?

我的主管建议我修补数据,但我不确定从哪里开始。

我想我明白你的问题了。您需要向现有 table 添加几个布尔字段,并且 DEFAULT 值为 TRUE。

ALTER TABLE TABLE1 add checkField bit default 1

您需要将相应的字段映射到 UI 中的复选框。对于现有客户端,它将检查该字段是否在数据库中设置为真。

我假设您想向现有 table 添加一个新的位列,并希望所有现有记录中的值都为 1。 为此,您首先创建新列,然后将所有现有记录设置为 1

alter table MyTable
add CheckedField bit

update MyTable set CheckedField = 1

如果新列是强制性的,那么您可以这样做:

alter table MyTable
add CheckedField bit not null default (1)