1. 程式人生 > >INSERT INTO SELECT FROM 語句的一個除錯

INSERT INTO SELECT FROM 語句的一個除錯

兩個表結構相同,第一個欄位id是自增唯一的,因此不在搬運的欄位列表裡,其他欄位都要複製過去。

先試了:

insert into leather_shoes_attachment_log(parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time)
 select (parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time)
 from leather_shoes_attachment
 where object_id ='MODULE_ATTACHMENT_20181102172032'

===================

系統提示:

[SQL]insert into leather_shoes_attachment_log(parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time)
 select (parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time)
 from leather_shoes_attachment
 where object_id ='MODULE_ATTACHMENT_20181102172032'

[Err] 1241 - Operand should contain 1 column(s)

===================

然後去掉select 後頭的小括號:

insert into leather_shoes_attachment_log
(parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time)
 select parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time
 from leather_shoes_attachment
where object_id ='MODULE_ATTACHMENT_20181102172032';

===================

就對了。

[SQL]insert into leather_shoes_attachment_log
(parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time)
 select parent_id,object_id,attachment_filename,attachment_name,attachment_url,attachment_type,creator,create_time
 from leather_shoes_attachment
where object_id ='MODULE_ATTACHMENT_20181102172032';
受影響的行: 1
時間: 0.003s