[英]Insert Data From One Table to Another Table and Add New Values
我有兩張桌子。 臨時表:
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;
我想將Temporary表的所有值插入Orders表,並使用以下命令手動添加orderNumber: uniqid(rand())
。
我已經使用INSERT INTO orders SELECT * FROM temporary WHERE FK_user = ?
但是它們不起作用,因為orderNumber在臨時表中不存在...
我該怎么辦? 請
希望我正確理解你的問題。 我認為下面的查詢會有所幫助。
INSERT INTO orders(id , FK_user , FK_bin , orderNumber , orderDate)
(SELECT id , FK_user , FK_bin , uniqid(rand()) AS orderNumber , orderDate
FROM temporary WHERE FK_user = ?);
如上查詢中所述,使用您的函數在select語句中生成訂單號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.