4

私はFirebird 2.5に取り組んでおり、2つのテーブルがあります.1つは自動インクリメントの主キーとマスターテーブルのnullではない外部キーフィールド(A)を除いて、すべての列は似ています

このようなSQLを使用して、2つのテーブルからすべての値を挿入できることを知っています

 insert into table1 select * from table2 where somthing = 'foo'

しかし、フィールド (A) についてはどうですか? 同じ SQL ステートメントにこの値を手動で挿入する方法はありますか? これは手動で入力する必要がある唯一のフィールドであるため

ありがとう

4

2 に答える 2

6

ソース フィールドとターゲット フィールドの両方を明示的に指定できます (特定の理由がない限り、使用しないでください)。select *

insert into table1
(
    col1,
    col2,
    col3,
    col4
)
select
    col1,
    col2,
    col3,
    'foo'

from table2

where something = 'foo'
于 2011-07-20T03:53:08.727 に答える