【发布时间】:2013-07-17 14:43:42
【问题描述】:
还有其他几个关于这个主题的 stackoverflow 查询,但都没有一个令人满意的答案。
我有一个表 BeerReviews,它缺少一列 (review_text),另一个表 BeerReviewsWithText 缺少一个不同的列 (brewery_name)。否则表格行的排序方式相同,所以我想简单地将 BeerReviews 中的 brewery_name 列附加到 BeerReviewsWithText 中。
我启动 sqlite3 为:
sqlite3 beer_rewiews_with_text.sqlite
然后我通过以下方式附上啤酒评论表:
attach 'beer_reviews.sqlite' as BR
我通过以下方式向 BeerReviewsWithText 添加了一个空列:
alter table BeerReviewsWithText add column beer_brewername varchar;
Multipleother 问题建议使用 insert 填充列,但这会将新行追加到表中,仅填充 beer_brewername 列。
insert into BeerReviewsWithText(beer_brewername) select brewery_name from BeerReviews;
相反,更新似乎填充了空值,但是当我运行以下命令(类似于another question's answer)时,所有 beer_brewername 值都是相同的:
update BeerReviewsWithText set beer_brewername=(select brewery_name from BR.BeerReviews);
这似乎是一种奇怪的行为,因为我在运行时得到了预期的啤酒厂名称列表:
select brewery_name from BR.BeerReviews limit 50;
我是 sqlite 新手,谁能解释一下我做错了什么?
【问题讨论】:
标签: sqlite