title: Operand should contain 1 column(s)
body: <p>Getting a <code>Operand should contain 1 column(s)</code> mysql error whenever I try to insert into the table <code>sets</code>.</p>
  
  <p>I googled and found a hoard of similar questions but they are always pin point specific to solving their immediate problem. I have mysql 5.6 by the way. I am allowed multiple TIMESTAMPS.</p>
  
  <p><strong>Here is my code:</strong></p>
  
  <pre><code>INSERT INTO `sets` (`tabler_name`) VALUES ("leads_auto");
  </code></pre>
  
  <p><strong>Here is my table:</strong></p>
  
  <pre><code>CREATE TABLE IF NOT EXISTS `lms`.`sets` (
      `set_id` BIGINT NOT NULL AUTO_INCREMENT,
      `on_off` SMALLINT NOT NULL DEFAULT 0,
      `tabler_name` VARCHAR(45) NULL,
      `origin_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `last_modified_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `original_count` INT NULL,
      `current_count` INT NULL,
      `source_type` VARCHAR(45) NULL,
      `source` VARCHAR(45) NULL,
      `method` VARCHAR(45) NULL,
      `agent` VARCHAR(45) NULL,
      `dupes` INT NULL,
      `bads` INT NULL,
      `aged` INT NULL COMMENT 'This table keeps track of the record sets that enter the system.        Example: a set of leads imported into the database.',
      PRIMARY KEY (`set_id`)
  ) ENGINE = InnoDB;
  </code></pre>
  
  <p><strong>Stored Procedure:</strong></p>
  
  <pre><code>DELIMITER //
  
  CREATE PROCEDURE `lms`.`leads_to_bak` ()
  BEGIN
  SET @table1 = (SELECT `tabler_name` FROM sets WHERE on_off=0 LIMIT 1);
  SET @table2 = CONCAT(@table1, '_bak');
  SET @SQL1 = CONCAT('INSERT INTO ',@table2, '(', (SELECT
  REPLACE(GROUP_CONCAT(COLUMN_NAME), 'lead_id,', '') FROM INFORMATION_SCHEMA.COLUMNS
  WHERE TABLE_NAME = @table2), ')', ' SELECT ', (SELECT                                                                   REPLACE(GROUP_CONCAT(COLUMN_NAME), 'lead_id,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE       TABLE_NAME = @table1), ' FROM ', @table1);
  PREPARE stmt FROM @sql1;
  EXECUTE stmt;
  END//
  
  DELIMITER ;
  USE `lms`;
  </code></pre>
  
  <p><strong>Trigger</strong></p>
  
  <pre><code>DELIMITER $$
  
  USE `lms`$$
  
  CREATE TRIGGER `lms`.`after_insert_into_leads`
  AFTER INSERT ON `sets` FOR EACH ROW
  BEGIN
  IF (SELECT * FROM sets WHERE on_off=0 LIMIT 1) THEN
  CALL lms.leads_to_bak();
  END IF;
  END$$
  
  DELIMITER ;
  USE `lms`;
  </code></pre>
  
  <p>I don't see anything wrong with my routines. Removing the routines and trigger seems to make the problem go away.</p>