【问题标题】:Pulling an data from a nested INSERT statement using SELECT?使用 SELECT 从嵌套的 INSERT 语句中提取数据?
【发布时间】:2016-02-04 03:46:26
【问题描述】:

是否可以让 INSERT 语句将受影响的列返回到 SELECT 语句中? 比如我有这样的说法:

INSERT INTO work_day (WorkDateId, TimeframeId) VALUES (@selecteddateid,@timeframeid);

但是 work_day 有一个自动递增的 work_dayId,它是在插入此行数据时创建的。我想将此 work_dayId 放在另一个语句中,但我想知道它是否能够将此 INSERT 嵌套在 SELECT 中,该 SELECT 将选择受影响/创建的行。

那么我可以这样放置这个语句吗:

INSERT INTO appointment 
(customerid, WorkDayId, UserId, Priority, Assign)
VALUES 
(@otherdata
(SELECT WorkDayId FROM work_day WHERE WorkDateId = (INSERT INTO work_day (WorkDateId, TimeframeId) VALUES (@selecteddateid,@timeframeid))));

【问题讨论】:

  • 不,你不能那样做。你想要last_insert_id()
  • 天哪!这要容易得多。非常感谢!

标签: mysql sql database select insert


【解决方案1】:

正如@Gordon 所说:

不,你不能那样做。你要last_insert_id()

在此处发布它作为更好的可见性的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多