Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我怎么写';匹配后,更新';在MYSQL中_Mysql_Db2 - Fatal编程技术网

我怎么写';匹配后,更新';在MYSQL中

我怎么写';匹配后,更新';在MYSQL中,mysql,db2,Mysql,Db2,在DB2中,我可以编写 MERGE INTO Table1 AS A USING ( SELECT * FROM TABLE2 WHERE NO.1 = NO.2) AS B ON A.TOKEN_ID = B.TOKEN_ID WHEN MATCHED THEN UPDATE SET A.LINK_POSTING_IND = 1; 但是MYSQL不支持MERGE,那么我如何在MYSQL

在DB2中,我可以编写

 MERGE INTO    Table1 AS A
       USING (
       SELECT *
   FROM        TABLE2
   WHERE        NO.1 = NO.2) AS B ON
   A.TOKEN_ID = B.TOKEN_ID
   WHEN MATCHED THEN UPDATE
   SET        A.LINK_POSTING_IND = 1;

但是MYSQL不支持MERGE,那么我如何在MYSQL中重新编写这段代码呢?

您可以使用updatejoin在MYSQL中重新表述MERGE语句:

UPDATE Table1 A
INNER JOIN
(
    SELECT TOKEN_ID
    FROM TABLE2
    WHERE NO.1 = NO.2
) B
    ON A.TOKEN_ID = B.TOKEN_ID
SET
    LINK_POSTING_IND = 1;

您可以使用update join在MySQL中重新表述合并语句:

UPDATE Table1 A
INNER JOIN
(
    SELECT TOKEN_ID
    FROM TABLE2
    WHERE NO.1 = NO.2
) B
    ON A.TOKEN_ID = B.TOKEN_ID
SET
    LINK_POSTING_IND = 1;