在一个查询中使用INSERT,SELECT和UPDATE?

时间:2016-04-11 23:33:03

标签: mysql sql

我正在尝试将数据插入到表中,但是我想选择在创建行时自动递增的ID,然后我想将其设置为另一个表中的字段。

例如

  1. INSERT INTO playerdata(用户名)VALUES('%e')
  2. SELECT ID FROM playerdata p WHERE Username ='%e'限制1
  3. 更新masterdata SET Slot = p.ID
  4. 我一直试图找到一个小时的方式,但仍然没有运气,所以如果有办法做到这一点,请回复它或如果有一个更简单的方法,那么请解释。感谢所有回复。

3 个答案:

答案 0 :(得分:1)

听起来你正在寻找的是插入时的DML触发器。

https://msdn.microsoft.com/en-us/library/ms189799.aspx

答案 1 :(得分:1)

你可以像这样插入后使用触发器

create trigger update_masterdata after insert on playerdata
for each row
begin
  UPDATE masterdata SET Slot = NEW.id;
end/

sqlfiddle

答案 2 :(得分:1)

似乎只插入1行。

您可以尝试LAST_INSERT_ID功能