2017-02-27 60 views
0

我试图插入一个右连接的结果到我创建的表deal_classification_DM的列CATO_NAME。 选择的结果是我期望的和程序运行良好,但数据不更新到表中。 有什么问题?数据不会插入到表使用插入和正确加入

`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; 

插入在其中我喜欢这个创建的表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; 

回答

0

你真正需要做的是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和01中插入具有null值的新行列,而您只需要更新CATO_NAME列的值,因为它是一个新列。

+0

谢谢你的回答! –