私は2つのテーブルを持っています。 一時テーブル:あるテーブルから別のテーブルにデータを挿入し、新しい値を追加する
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 ;
とOrdersテーブル:uniqid(rand())
:
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テーブルに一時テーブルのすべての値を挿入し、これを手動で注文番号を追加します。
私はどのように行うことができます...
私はINSERT INTO orders SELECT * FROM temporary WHERE FK_user = ?
を使用しましたが、注文番号が一時テーブルに存在しないため、彼らは動作しませんか?
問題は表示されません。ただ、一時的なトンから注文番号、t.orderDateとして選択 'ORDERS。INSERT INTO(ID、FK_user、FK_bin、orderNumer、orderDateで)SELECT t.id、t.FK_user、t.FK_bin、UUID()の列を指定する;' – Rumpelstinsk
'SELECT *'は使わないでください。挿入文と選択文の両方の各列名を記述してください... – Naga