关系中的SQL Update ID字段

时间:2014-09-23 09:19:47

标签: mysql sql ms-access sql-update

我有两张桌子。

表MAIN

ID,STH,DOG,DOG_ID

表DOGS

ID,DOG_NAME

因为我正在创建“狗”字典我想在主表中将DOGS.ID分配给DOG_ID。基于DOG_NAME 在DOGS表中我allredy有独特的狗名和ID

在MAIN表中,DOG具有DOGS表中存在的值,我想在DOGS表中分配对应于狗的DOG_ID。

稍后我将删除DOG列。

这只是我正在做的事情。

1 个答案:

答案 0 :(得分:2)

MS-Access和MySQL都具有相同的UPDATE/JOIN语法,因此这应该适用于:

UPDATE  MAIN
        INNER JOIN DOGS
            ON DOGS.DOG_NAME = MAIN.DOG
SET     DOG_ID = DOGS.ID;

<强> MySQL Example on SQL Fiddle

MySQL中的另一种选择是:

UPDATE  MAIN
SET     DOG_ID = (  SELECT  ID
                    FROM    DOGS
                    WHERE   DOGS.DOG_NAME = MAIN.DOG);

<强> MySQL Example on SQL Fiddle

第二个查询在Access中不起作用。