【发布时间】:2013-11-14 16:58:18
【问题描述】:
在表设置后,我突然想起通过添加一列来更新它并将所有相同的值分配给该列。所以我在 Workbench 上写了这样的查询
ALTER TABLE sthebc3_cle ADD COLUMN Species char(30) AFTER Genome_ACC;
SET SQL_SAFE_UPDATES=0;
UPDATE cle.sthebc3_cle
SET Species='StHe';
但它报告了类似的错误
error 1054: unknown column "Species" in "field list
我在ALTER 之后检查了表,新列“物种”确实已添加到该列中,并且值为 NULL。
怎么会报错?
【问题讨论】:
-
只是为了确保您在 alter 语句中使用数据库 cle?您可能没有在测试环境中创建列?
-
是的。这是。我试图删除“cle”。还是不行
-
如果你运行 SELECT Species FROM sthbec3_cle WHERE Species IS NULL 你会得到一个行列表?
-
通过添加 USE cle 解决了。这很奇怪,但它仍然有效。谢谢你。我对你所说的测试环境有疑问。由于我尝试将 cle 模式中的两个表 UNION 到 VIEW 中,它再次报告相同的错误。 (这两个表的列完全相同)
-
这样的脚本USE cle; CREATE VIEW all_cle AS (SELECT Species, Genome_ACC, CLE_start, CLE_end, CLE_domain FROM cowpea_cle) UNION (SELECT Species, Genome_ACC, CLE_start, CLE_end, CLE_domain FROM sthebc3_cle);
标签: mysql alter-table