Mysql sql insert into、select、where语句

Mysql sql insert into、select、where语句,mysql,sql,Mysql,Sql,我想将hk_room表中的所有行复制到hk_历史记录中,但rStatus='-'或rStatus='Long Stay'和rStatus='Check Out'的行除外 “-”是rStatus属性的默认值 我尝试了以下两个问题: INSERT INTO hk_history (rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,amt,db,mw,hkR,fo_R,svR,rDate) SELECT rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,

我想将hk_room表中的所有行复制到hk_历史记录中,但rStatus='-'或rStatus='Long Stay'和rStatus='Check Out'的行除外

“-”是rStatus属性的默认值

我尝试了以下两个问题:

INSERT INTO hk_history
(rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,amt,db,mw,hkR,fo_R,svR,rDate)
SELECT rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,amt,db,mw,hkR,fo_R,svR,rDate
FROM hk_room1;
WHERE rStatus <> '-';

这应该会有所帮助


这应该会有所帮助

在第一个查询中,
的前面有一个分号,其中

INSERT INTO hk_history
    (rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,amt,db,mw,hkR,fo_R,svR,rDate)
    SELECT rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,amt,db,mw,hkR,fo_R,svR,rDate
    FROM hk_room1;
    -------------^
    WHERE rStatus <> '-';
你也可以这样说:

    WHERE rStatus <> '-' AND
          (rStatus <> 'Long Stay' OR rStatus <> 'Check Out')
其中rStatus'-'和
(rStatus“长期停留”或rStatus“退房”)

但是,前面的版本似乎更清楚您的意图。

您在第一个查询中的
前面有一个分号,其中

INSERT INTO hk_history
    (rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,amt,db,mw,hkR,fo_R,svR,rDate)
    SELECT rNo,rStatus,bs,bq,hk,ds,dq,pc,twl,fm,amt,db,mw,hkR,fo_R,svR,rDate
    FROM hk_room1;
    -------------^
    WHERE rStatus <> '-';
你也可以这样说:

    WHERE rStatus <> '-' AND
          (rStatus <> 'Long Stay' OR rStatus <> 'Check Out')
其中rStatus'-'和
(rStatus“长期停留”或rStatus“退房”)

然而,之前的版本似乎更符合您的意图。

hk\u room1
结束语句。如果上面的内容不清楚。删除
hk_room1
之后执行code>。这是您能想到的最神秘的列名集吗?
hk_room1
结束语句。如果上面的内容不清楚。删除
after
hk\u room1
如果您想将where子句作为insert的一部分执行。这是您能想到的最神秘的列名集吗?我明白了,所以问题是分号。谢谢。我明白了,所以问题是分号。非常感谢。
    WHERE rStatus <> '-' AND
          (rStatus <> 'Long Stay' OR rStatus <> 'Check Out')