mysql错误:ERROR 1241(21000):操作数应包含1列

时间:2017-12-15 05:58:24

标签: mysql

我遇到了mysql查询的问题。我需要将数据从一个表复制到另一个表。我正在使用的查询是:

mysql> insert into voucher (code, amount, expire_at, state, driver_id, asset_account_id, created_at, updated_at, creator_id, agent, voucher_batch_id, image, city_id, country_id, serial_number, updater_id, redeemed_at) select (code, amount, expire_at, state, driver_id, asset_account_id, created_at, updated_at, creator_id, agent, voucher_batch_id, image, city_id, country_id, serial_number, updater_id, redeemed_at) from voucher_log ;

但是,执行此操作时出现以下错误:

  

ERROR 1241(21000):操作数应包含1列

1 个答案:

答案 0 :(得分:3)

insert into voucher 
    (code, amount, expire_at, state, driver_id, asset_account_id, created_at, updated_at, creator_id, agent, voucher_batch_id, image, city_id, country_id, serial_number, updater_id, redeemed_at) 
select 
    (code, amount, expire_at, state, driver_id, asset_account_id, created_at, updated_at, creator_id, agent, voucher_batch_id, image, city_id, country_id, serial_number, updater_id, redeemed_at) 
from voucher_log ;

您的查询应该是

insert into 
    voucher (code, amount, expire_at, state, driver_id, asset_account_id, created_at, updated_at, creator_id, agent, voucher_batch_id, image, city_id, country_id, serial_number, updater_id, redeemed_at) 
select 
    code, amount, expire_at, state, driver_id, asset_account_id, created_at, updated_at, creator_id, agent, voucher_batch_id, image, city_id, country_id, serial_number, updater_id, redeemed_at 
from voucher_log ;

您将()放入选择查询中。那部分是错的。

相关问题