php - 如何在同一个 mysql 查询中使用 SELECT+INSERT?

标签 php mysql database

我有一个 php 脚本,它处理来自 mysql 表“keywords”(列:id - 关键字)的关键字,然后将数据保存到另一个表“data”(列:id [foreign key keywords.id] - dataname -数据值)。

我的问题是,当脚本准备好保存数据时,我只有关键字,没有 id。

那么有没有一种方法可以获取关键字 id 并将数据保存在一个 mysql 查询中? (我的意思是无需执行诸如 SELECT id from keywords where keyword = keyword 之类的操作,然后针对 INSERT 运行另一个查询。

最佳答案

如果选择表和修改表不同——你可以使用简单的嵌套查询:

INSERT INTO `data` (`id`, `dataname`) VALUES
(
    (SELECT `id` FROM `keywords` WHERE `keyword` = 'keyworrrrrd'),
    'blabla'
)

INSERT INTO `data` (`id`, `dataname`)
SELECT `id`, 'blabla' FROM `keywords` WHERE `keyword` = 'keyworrrrrd'

关于php - 如何在同一个 mysql 查询中使用 SELECT+INSERT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3648856/

相关文章:

MySQL,优化子查询

MySQL 根据第一个日期从每个诊断的患者中仅选择一行

mysql - 如何调查 MySQL 错误

php - 如何测试 composer.lock 是否是最新的?

PHP - 在函数内部使用 isset 不起作用..?

php - 如何发布 Guzzle 6 异步数据

php - 具有 3 个分离度级别的表

MySQL Query 选择上周的数据?

c# - 企业应用中的小数点舍入策略

php - 如何从 MySQL 中的特定列获取特定数据?