1

SQLクエリがあります。次のようになります。

insert into tableA(order_id, contractnotenumber, shipmentdate, comment) 
    values ((select entity_id from tableb where increment_id = '12345678'), 
    '', '1970-01-01', '');

ここで、サブクエリ((increment_id = '12345678')であるtablebからentity_idを選択)がnullを返す場合、挿入は機能しません。私が欲しいのは、サブクエリがnullを返した場合、何もしないことを簡単に言う方法です。挿入無視を試みましたが、これはnullの代わりに0で行を挿入します。これは機能しますが、私が望むものではありません。SQL Serverでは、存在しない場合(select ...)を使用しましたが、これはMYSQLでは機能しません。

アイデア?

ありがとう!

4

2 に答える 2

1
insert into tableA(order_id, contractnotenumber, shipmentdate, comment)
select entity_id, '', '1970-01-01', '' from tableb where increment_id = '12345678'

行がに見つからない場合、これは何も挿入しませんtableb

于 2012-05-07T09:05:52.793 に答える
0

mysql>insertignoreを試すこともできます

于 2012-05-07T09:28:33.970 に答える