I have table:
CREATE TABLE `ticket` ( `id` int(11) NOT NULL AUTO_INCREMENT, `price` int(11) DEFAULT NULL, `status` NOT NULL DEFAULT, `date_created` datetime NOT NULL, `date_used` datetime DEFAULT NULL, `used_by_user_id` int(11) DEFAULT NULL,) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
and I have created table
$this->createTable('used', [
'id' => $this->primaryKey(),
'ticket_id' => $this->integer()->notNull(),
'date_used' => $this->integer()->notNull(),
'used_by_user_id' => $this->integer()->notNull(),
], 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB');
I want to move some data(date_used & used_by_user_id) from table ticket to other table used with migration yii2 in the query. But I don’t know how to do it without ActiveRecord & array.
Advertisement
Answer
$this->execute("
INSERT INTO used (ticket_id, date_used, used_by_user_id)
SELECT id, date_used, used_by_user_id
FROM ticket
WHERE
used_by_user_id IS NOT NULL AND date_used IS NOT NULL
");
Only sql. Yii-migration not supported select in the insert into