【发布时间】:2014-12-31 13:58:38
【问题描述】:
我想如果我通过显示图像来问你会更好。
这是我的people 表。如您所见,这是一个糟糕的设计理念。有些人有不止一个职业(作家/女演员),所以我将使用一个连接表来使其工作,并摆脱people 表。我的问题是,如何在不复制空值的情况下将所有这些值从 people 移动到我的 person 表中? (例如,people_id = 1 只包含导演姓名,其他为空。
以下查询也添加了空值。而且我也无法选择所有列。
INSERT INTO person (person_name)
SELECT director_name
FROM people
WHERE people_id < 150000;
我的人表。我想在 person_name 列中将所有名称从人员复制到人员表。
【问题讨论】:
-
这个查询有什么问题?您的查询将按您的意愿工作
-
“复制空值”是什么意思?如果您引用的空值是其他列中的值(“musician_name”、“translator_name”等),它们不会被您的查询复制,仅仅是因为您没有选择它们。跨度>
-
各位,谢谢你们的cmets。戈登的回答解决了我的问题。我可能问的问题有点含糊。当我使用下面的查询时,一些 NULL 值被添加到 person_name 列中。