刚刚试了一下应该是这样写的吧,已经成功了 INSERT INTO `order`(`id`,`name`,`time`,`total`) VALUES ((SELECT `id` FROM `user` WHERE name='test'),'test','2013-01-01 00:00:00','888')
INSERT INTO `order`(`id`,`name`,`time`,`total`) SELECT `id`,'test','2013-01-01 00:00:00','888' FROM `user` WHERE name='test'
INSERT INTO `order`(`id`,`name`,`time`,`total`) VALUES ((SELECT `id` FROM `user` WHERE name='test'),'test','2013-01-01 00:00:00','888')
正解。本质上就是你所说的“先在user表通过name查询到id值再插入到order”