php - INSERT并设置一个字段来复制新插入的id

标签 php mysql pdo

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

如果可能的话,我会尽量避免使用多个查询(否则总共会是 3 个查询)

类似这样的东西(但可能不是):

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

最佳答案

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

您可以更改表结构并运行:

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

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

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

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

更新

再想一想,您真的需要 ID 作为激活 key 的一部分吗?

我不想向任何用户提供我表中记录的 ID,除非它经过哈希/加密。

关于php - INSERT并设置一个字段来复制新插入的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145821/

相关文章:

c# - 如何验证表的MAX值?

php - PDO,准备使用

php - 使用 session ID 访问 session 数据

php - 格式化mysql查询日志文件输出

php - 我不能在 Twig_Extension 类中将内部函数与 Twig_SimpleFilter 一起使用

sql - 查询返回空集 Mysql 5.1.49 但返回 5.0-ish 上的内容

php - Bootstrap 模式表单中的数据不会使用 php 传输到 MySQL 表

MySQL - 从连接表中查找匹配所有行的行

mysql - Slim MySQL异常: SQLSTATE[42000]: Syntax error or access violation: 1064

php - PDO 多次获取同一查询