看看我的问题:
INSERT INTO sessions (userId, workstationId, duration, actionType)
SELECT userId, workstationId, duration
FROM activeSessions
WHERE workstationId = ?
select语句不包含足以推送到sessions
的数据。我也想插入一个actionType(作为参数(?
)。也就是说,我需要在select语句的结果右侧附加一列,以便它能够工作。如何完成?
答案 0 :(得分:1)
您可以在mysql select:
中使用虚拟值INSERT INTO sessions (userId, workstationId, duration, actionType)
SELECT userId, workstationId, duration, 'actionType' as actionType
FROM activeSessions
WHERE workstationId = ?
对于不同的参数,您还可以使用select select select query。
INSERT INTO sessions (userId, workstationId, duration, actionType)
SELECT userId, workstationId, duration,
(select id from actionTypeTable where id = ?) as actionType
FROM activeSessions
WHERE workstationId = ?
答案 1 :(得分:1)
假设您的查询位于某个过程中,您可以添加这些参数。
INSERT INTO sessions (userId, workstationId, duration, actionType)
SELECT userId, workstationId, duration, @actionType
FROM activeSessions
WHERE workstationId = @workstationId