INSERT并设置一个字段以复制新插入的ID

时间:2014-08-05 18:24:47

标签: php mysql pdo

是否可以插入一行,同时设置其中一个字段以包含插入行的ID? (“自我”id)

我试图避免使用多个查询(如果可能的话,总共会有3个查询)

像这样(但可能不是):

INSERT INTO thetable (email, phone, activationkey) VALUES ($email, $phone, CONCAT(THIS_NEW_ID, md5($activation) )

1 个答案:

答案 0 :(得分:2)

为什么要存储重复的数据?

您可以更改表格结构,然后运行:

INSERT INTO thetable (email, phone, activation_suffix) 
     VALUES ($email, $phone, md5($activation))

然后你就拥有了你需要的所有数据。

查询表时,您始终可以连接:

SELECT CONCAT(id, activation_suffix) activationkey
  FROM thetable
 WHERE ...

<强>更新

再想一想,你真的需要id作为激活密钥的一部分吗?

除非经过哈希/加密,否则我不想让任何用户在我的表中为其记录提供ID。