У меня есть две таблицы. Временная таблица:Вставьте данные из одной таблицы в другую таблицу и добавьте новые значения
CREATE TABLE IF NOT EXISTS `temporary` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`FK_user` int(11) NOT NULL,
`FK_bin` varchar(50) NOT NULL,
`orderDate` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=35 ;
И заказы таблица:
CREATE TABLE IF NOT EXISTS `orders` (
`id` int(11) NOT NULL,
`FK_user` int(11) NOT NULL,
`FK_bin` varchar(50) NOT NULL,
`orderNumber` varchar(11) NOT NULL,
`orderDate` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Я хочу, чтобы вставить все значения временной таблицы в таблицу Orders и добавьте ORDERNUMBER вручную с этим: uniqid(rand())
.
меня использовать INSERT INTO orders SELECT * FROM temporary WHERE FK_user = ?
Но они не работают, потому что ORDERNUMBER не существует в таблице временного ...
Как я могу сделать? пожалуйста
Я не вижу проблемы там. Просто укажите столбцы в выборе 'INSERT INTO ORDERS (id, FK_user, FK_bin, orderNumer, orderDate) SELECT t.id, t.FK_user, t.FK_bin, UUID() как номер порядка, t.orderDate из временного t;' – Rumpelstinsk
Не используйте 'SELECT *'. упомянуть имена каждого столбца в обоих вставлять в и выбирать утверждения ... – Naga