php - 将数据从一个表插入到另一个表并添加新值

标签 php mysql sql database sql-insert

我有两张 table 。 临时表:

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 , orderNumber , orderDate) 
(SELECT id , FK_user , FK_bin , uniqid(rand()) AS orderNumber , orderDate 
 FROM temporary WHERE FK_user = ?);

如上述查询所述,使用您的函数在 select 语句中生成订单号。

关于php - 将数据从一个表插入到另一个表并添加新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42200799/

相关文章:

php - 如何让搜索引擎找到我的 AJAX 内容

mysql - mysql 中关于过程参数的动态 "column"更新

mysql - 如何从第二个表(MYSQL)的更新中获取表值

mysql - 如何在mysql中获得连续的星期天

mysql - 播种 SQLite RANDOM()

Mysql 5.7 无法创建 unix socket 锁定文件

php - 如何从n个表中只获取n条记录

php - PDO 选择然后更新

php - 有什么方法可以自动化 - 用于测试 - 依赖于人的操作?

javascript - 如何以重力形式创建一个切换按钮,一旦在 WordPress 中从打开更改为关闭,该按钮就会卡住?