从两个表中插入条件

vmjh9lq9  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(244)

我有三张table
表1 ein列:

id, name, plate,in_datetime,time,image-name.

表2输出列:

id, name, plate, out_datetime, time, image-name.

表3侦察列:

id, plate,in_datetime,in_entry_id,out_datetime, out_entry_id,Processed, duration.

我需要使用where条件将表1和表2的值放入表3的列中。我正在使用以下查询:

INSERT INTO recon (id,EIN.plate,EIN.in_datetime, EIN.id,  EOUT.out_datetime, EOUT.id,null, null) 
    SELECT EIN.RegistrationMark,EIN.datetime,EIN.id, EOUT.date,EOUT.id FROM EIN_anpr_vega as EIN, EOUT_anpr_vega as  EOUT
    where EIN.plate = EOUT.plate
    and EIN.in_datetime = EOUT.out_datetime

我得到一个接近null的错误,null。下面是错误。

for the right syntax to use near 'null, null
eaf3rand

eaf3rand1#

INSERT INTO recon (id, EIN.plate ...) VALUES ...

first()中的内容应该是表的列名 recon . (我很惊讶它没有显示语法错误 EIN.plate .)
是的,稍后, null 会因为同样的原因陷入麻烦--它不是列名。

6ioyuze2

6ioyuze22#

你的列名不能写空

INSERT INTO recon (id,EIN.plate,EIN.in_datetime, EIN.id,  EOUT.out_datetime, EOUT.id,null, null)

相反,写列名并将空值放在select中。这样地:

INSERT INTO recon (id,EIN.plate,EIN.in_datetime, EIN.id,  EOUT.out_datetime, EOUT.id,col1, col2) 
    SELECT EIN.RegistrationMark,EIN.datetime,EIN.id, EOUT.date,EOUT.id, null, null FROM EarlsdonMSIN_anpr_vega as EIN, EarlsdonMSOUT_anpr_vega as  EOUT
    where EIN.plate = EOUT.plate
    and EIN.in_datetime = EOUT.out_datetime

相关问题