如何在 MySQL 中使用串联主键值分配用户名?

Susan Sarandon
发布: 2024-11-09 21:58:02
原创
691 人浏览过

How to Assign Usernames with Concatenated Primary Key Values in MySQL?

使用连接字符串和主键插入数据

插入 MySQL 表涉及为列赋值,通常包括自动递增的主键钥匙。但是,有时人们可能希望在插入时将字符串与主键连接起来,例如将用户名分配为“user”,后跟主键的值。

挑战:

user 表包含多个列,包括一个自增主键“id”和一个“username”列。目的是自动将用户名分配为“user”并附加各自的主键值。

方法:

  • 使用单个 SQL 语句是不可能的,因为主键值仅在执行“BEFORE INSERT”触发器后生成,并且在“AFTER INSERT”触发器中禁止后续修改“username”。
  • 一个可行的解决方法是先执行插入,然后再执行立即执行更新以将主键值与字符串连接起来。

替代方案:

  • 如果主键不是自动递增并且相反,可以在将值作为参数传递之前直接在 PHP 代码中执行串联操作。

注意:

  • MySQL 5.7 的生成的列无法适应这种情况。尝试创建引用自动增量列的生成列会导致错误“生成的列“用户名”无法引用自动增量列。”

以上是如何在 MySQL 中使用串联主键值分配用户名?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板