数据不会使用 insert into 和 right join 插入 table
Data wont insert into table using insert into and right join
我正在尝试将右联接的结果插入到我创建的 table deal_classification_DM 的列 CATO_NAME 中。
select 的结果是我所期望的,程序 运行 很好,但是数据没有更新到 table 中。
怎么了?
`INSERT INTO deal_classification_DM
(CATO_NAME)
SELECT
taxonomies.NAME
FROM
taxonomies
RIGHT JOIN
deal_classification_DM ON taxonomies.ID = deal_classification_DM.CATO_ID;
插入是在 table deal_classification_DM 中完成的,我是这样创建的:
CREATE TABLE deal_classification_DM
AS SELECT
deal_taxonomy.DEAL_ID
,deal_taxonomy.TAXONOMY_ID AS TAXO_ID
,taxonomies.NAME AS TAXO_NAME
,taxonomies.PARENT_ID AS CATO_ID
FROM
deal_taxonomy
LEFT JOIN
taxonomies ON deal_taxonomy.TAXONOMY_ID = taxonomies.ID;
ALTER TABLE deal_classification_DM
ADD COLUMN
CATO_NAME TEXT;
您真正需要做的是 update
而不是 insert
,例如:
UPDATE deal_classification_DM d
SET d.CATO_NAME = (
SELECT name FROM taxonomies WHERE ID = d.CATO_ID
);
INSERT
语句将在 DEAL_ID
、TAXO_ID
和 CATO_ID
列中插入具有 null
值的新行,而您只需要更新值CATO_NAME
列,因为它是一个新列。
我正在尝试将右联接的结果插入到我创建的 table deal_classification_DM 的列 CATO_NAME 中。 select 的结果是我所期望的,程序 运行 很好,但是数据没有更新到 table 中。 怎么了?
`INSERT INTO deal_classification_DM
(CATO_NAME)
SELECT
taxonomies.NAME
FROM
taxonomies
RIGHT JOIN
deal_classification_DM ON taxonomies.ID = deal_classification_DM.CATO_ID;
插入是在 table deal_classification_DM 中完成的,我是这样创建的:
CREATE TABLE deal_classification_DM
AS SELECT
deal_taxonomy.DEAL_ID
,deal_taxonomy.TAXONOMY_ID AS TAXO_ID
,taxonomies.NAME AS TAXO_NAME
,taxonomies.PARENT_ID AS CATO_ID
FROM
deal_taxonomy
LEFT JOIN
taxonomies ON deal_taxonomy.TAXONOMY_ID = taxonomies.ID;
ALTER TABLE deal_classification_DM
ADD COLUMN
CATO_NAME TEXT;
您真正需要做的是 update
而不是 insert
,例如:
UPDATE deal_classification_DM d
SET d.CATO_NAME = (
SELECT name FROM taxonomies WHERE ID = d.CATO_ID
);
INSERT
语句将在 DEAL_ID
、TAXO_ID
和 CATO_ID
列中插入具有 null
值的新行,而您只需要更新值CATO_NAME
列,因为它是一个新列。