我目前正在使用简单的脚本在表格中创建新记录。
insert into PRODUCT(name,color) values('product1','red');
但是如果我们改变我们的表结构,即。专栏"颜色"将不再是一个varchar而是一个引用id,并且所有颜色都将保存在一个单独的表中,我们只需要插入一个颜色表的引用id表单,我该如何处理和更新我的insert sql以及按特定颜色查询?
答案 0 :(得分:0)
对于SQL Server,如果您的Product
表不是内存表,那么您可以使用以下内容向其添加新列:
ALTER TABLE PRODUCT ADD ColorID int
然后,您只需发出UPDATE
来填充ColorID
表的新Product
列中颜色的相应ID。
UPDATE P
SET P.ColorID = C.ID
FROM PRODUCT P
INNER JOIN COLORS C ON P.COLOR = C.ColorName
然后,如果您真的想要,可以删除旧的COLOR
列并将当前ColorID
列重命名为Color
。
但是,您应该提前计划。通常,颜色表更有意义。