結合を含むselectステートメントを使用して、mySQLデータベーステーブルに列を挿入しようとしています。
私のコード:
insert into trips_last_arrival_time(start_time)
select min_arrival_time.start_time
from min_arrival_time
inner join trips_last_arrival_time
on min_arrival_time.trip_id = trips_last_arrival_time.trip_id;
私は得ています:
[Err] 1364 - Field 'trip_id' doesn't have a default value
trip_id is the primary key of both tables.
start_time列は空白であり、nullで埋められていません。
私もUPDATE句を試しました
update trips_last_arrival_time
set trips_last_arrival_time.start_time = (
select start_time from min_arrival_time )
where exists(
select trip_id from trips_last_arrival_time
where trips_last_arrival_time.trip_id = min_arrival_time.trip_id)
そして、テーブルmin_arrival_timeに列trip_idがあります(実際、これは両方のテーブルの主キーです!)しかし、このUPDATE句は次のようになります。
[Err] 1054 - Unknown column 'min_arrival_time.trip_id' in 'where clause'
私は何が欠けていますか?