如何使MySQL表主键自增并带有一些前缀

2023-11-25

我有这样的桌子

table
id Varchar(45) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name CHAR(30) NOT NULL,

我想增加我的 id 字段,例如'LHPL001','LHPL002','LHPL003'... ETC。 为此我应该做什么?请让我知道任何可能的方式。


如果您确实需要这个,您可以借助单独的排序表(如果您不介意的话)和触发器来实现您的目标。

Tables

CREATE TABLE table1_seq
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE table1
(
  id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
);

现在触发

DELIMITER $$
CREATE TRIGGER tg_table1_insert
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
  INSERT INTO table1_seq VALUES (NULL);
  SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0'));
END$$
DELIMITER ;

然后你只需将行插入到 table1

INSERT INTO Table1 (name) 
VALUES ('Jhon'), ('Mark');

你将会有



|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |
  

Here is SQL小提琴 demo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使MySQL表主键自增并带有一些前缀 的相关文章

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

    表 1 曲目 表 2 词汇表 表 3 N M 轨道有单词 trackwords 找到包含所有单词的所有曲目 目前查询如下 SELECT DISTINCT t id FROM track as t Left Join trackwords a
  • 如何在同一列中选择多个值?

    我正在尝试在单个列中选择多个值 基本上我希望查询选择列下的所有内容family有价值观Software 1Y XI 1Y and P1 1Y 我正在运行这个查询 SELECT salesorder masterproduct family
  • PHP 和 MySql 检查表是否为空

    我有点菜鸟 而且我很难过 我需要一些代码来搜索数据库表以查找与 id 变量匹配的行 我需要抓取该表 描述 中的一个字段 如果它为空 我需要显示一条消息 如果不是另一条消息 这是我的代码 我知道我需要添加 mysqli 转义字符串 只需从内存
  • 将我的本地数据库(Mysql)复制到远程数据库(phpmyadmin)

    My MySQL database local server is connected to a weather station The data are updated continuously on my local server My
  • mysql 准备好的语句错误:MySQLSyntaxErrorException

    我使用准备好的语句编写了选择语句 每次尝试运行都会出现此错误 我如何克服这个错误 我的jdbc连接器是mysql connector java 5 1 13 bin jar 我的代码 public Main add ad to getAdD
  • Laravel Eloquent with()-> 返回 null

    我正在尝试使用 Eloquent 来获取具有以下功能的特定产品 brand id映射到a的列brands表 该brand数组返回空 这里有什么明显需要改变的地方吗 product Product with images gt with br
  • mysql 中的 max(长度(字段))

    如果我说 select max length Name from my table 我得到的结果是 18 但我也想要相关数据 所以如果我说 select max length Name Name from my table 这是行不通的 我
  • 使用 Java 连接到 MySql - SSL 连接

    我一直在尝试连接到 MySql 数据库 该数据库使用 ssl 连接与 java 并遇到麻烦 如果任何人可以帮助我 将会有很大的帮助 手动连接MySql 我们使用MySQL Workbench 参数 主机名 test db1 ro xxxxx
  • 复制具有不同列名的 MySQL 表

    我需要将 table1 中与特定列匹配的所有行复制到具有不同列名称的 table2 中 例如 table1 name oldAddressBook table1 的列 name Name Surname Number table2 name
  • 使用命名占位符时 PHP/SQL 插入错误

    我有以下 PHP PDO 语句 STH this gt db gt prepare INSERT INTO UserDetails FirstName LastName Address City County PostCode Phone
  • MySQL 连接最新行

    我有两张桌子agents and calls 座席将始终处于一个活动呼叫中 可能有另一个待处理的呼叫分配给某个座席 而该座席尚未应答 我想编写一个查询来测试最新的调用是否按排序dateCreated与代理表中当前活动的呼叫匹配 以下是当前呼
  • 如何反转散列和加盐密码? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 vBulletin 登录使用它来交叉引用数据库 md5 md5 pass salt 我如何制作一个 PHP 脚本 以便每个密码
  • PHP 插入中的 mysqli_affected_rows

    我有这个代码 if mail to subject message headers insert member sql INSERT INTO members id username VALUES id username insert me
  • 执行 mysqli->set_charset() 的永久方法?

    将我可以找到的字符集的所有配置文件和运行时选项设置为 utf 8 后 使用 php 建立的新 mysqli 连接的字符集仍然设置为 latin1 这实际上意味着我必须调用 mysqli gt set charset utf8 每次我连接 m
  • 恐慌:拨打 tcp 127.0.0.1:3306:连接:连接被拒绝

    我正在尝试使用 golang gin gorm 从 docker 连接 mysql 服务器 构建本身已经成功 但是如标题所示 出现了以下错误 panic dial tcp 127 0 0 1 3306 connect connection
  • 无法使用 Node.JS 将 null 值发送到 MySQL 数据库

    我正在尝试发送null使用 Node JS 到我的 MySQL 数据库 con query INSERT INTO Routes routeTrigger VALUES null title test function err result
  • 需要 php pdo 内爆数组并在 mysql 中插入多行

    基于this https stackoverflow com questions 4629022 how to insert an array into a single mysql prepared statement w php and
  • 用 PDO 和准备好的语句替换 mysql_* 函数

    我总是做简单的连接mysql connect mysql pconnect db mysql pconnect host user pass if db echo strong Error strong Could not connect
  • 如何轻松地将多个sql文件导入MySQL数据库?

    我有一些sql文件 我想要import将它们全部一次性存入 MySQL 数据库 I go to PHPMyAdmin 访问数据库 点击import 选择一个文件并导入 当我有多个文件时 需要很长时间 我想知道是否有更好的方法来导入多个文件
  • 寻求有关标记视频系统上的“相关视频”查询的建议

    好吧 我运行一个小型视频网站 在实际的视频页面上有一条与大多数视频页面 例如 YouTube 类似的 相关视频 目前我所做的就是随机获取其标签之一并查找其他视频相同的标签 毫不奇怪 这不是一个好方法 因为有些标签非常模糊 有些视频被错误标记

随机推荐

  • 修改本地存储?

    我正在使用 simplecartjs 为在线商店提供支持 它将数据存储在本地存储中 如下所示 SCI 1 quantity 1 id SCI 1 price 20 name Mattamusta teippi size Tyhj SCI 3
  • Android:如何将预览帧保存为jpeg图像?

    我想将预览帧保存为 jpeg 图像 我尝试编写以下代码 public void onPreviewFrame byte data Camera camera if settings isRecording Camera Parameters
  • 使用 TypeScript 和 React 输入 redux 表单 v7

    我有一个简单的由react redux驱动的表单 我希望有一个 form container tsx 和一个 form component tsx 其中 form container tsx 保存所有到 redux 状态的连接减去 Fiel
  • Xcode 界面生成器未检测到 Admob 框架类

    我一直在尝试在我的 iOS 应用程序中实现原生 Google adMob 广告 并遵循 admob 官方教程 https developers google com admob ios native advanced 无论我是手动添加所需的
  • c# 中的 blackmagic SDK

    我正在尝试在 windows7 64x 上使用最新的 SDK 2011 年 6 月 和 C VS 2010 Express 从一张 blackmagic 强度专业卡捕获 720p 我已经成功编译并运行了一个以 YUV 捕获帧的程序 但是 捕
  • 使用 Moq 模拟 nHibernate QueryOver

    测试时 以下行因空引用而失败 var awards session QueryOver Where x gt x BusinessId int business List 我的测试是这样的 var mockQueryOver new Moc
  • MongoDB 子文档嵌套文档验证

    我得到了一份结构如下的文档 我的问题是如何在数据库端进行嵌套部分 角色 验证 我的要求是 角色大小可以为 0 或大于 1 如果创建了角色 则存在角色的 name 和created by id 123456 name User Name ro
  • bootstrap-table-filter-control 扩展在 bootstrap-table 中不起作用

    I use 引导表并想使用表过滤器控制扩大 在this您可以通过示例了解如何使用此扩展 当我想将此扩展用于更多列时 它不起作用 在我的示例中 过滤器仅适用于一列 jsfiddle html table class table table s
  • 如何使用GDI+绘制ARGB位图?

    我有有效的HBITMAP的句柄ARGB类型 如何使用它来绘制GDI 我尝试过方法 graphics DrawImage Bitmap FromHBITMAP m hBitmap NULL 0 0 但它不使用 Alpha 通道 我有工作样本
  • Angular js 缩小后出现错误。错误:[$injector:unpr] 未知提供者:eProvider <- e <- makeErrorsDirective

    我使用 Gulp 来缩小整个 js 文件 缩小后 我收到如下错误 injector unpr Unknown provider eProvider lt e lt makeErrorsDirective 我的控制器文件中有一个自定义指令 v
  • 从 Common Lisp 中的嵌套循环返回

    我正在尝试将此 Python 代码转换为 Common Lisp for a in xrange 1 1000 for b in xrange a 1000 c a 2 b 2 0 5 s a b c if s 1000 return a
  • 并行运行单元测试

    有谁知道是否有办法在 Visual Studio 中并行运行不同的 测试方法 NUnit 2 5有一个选项支持并行运行单元测试 这与 VS 内置的单元测试框架无关 但可以使用正确的插件在 VS 内运行 NUnit 测试
  • 如何在 MKAnnotations 上方显示 MKOverlay?

    我正在尝试使用MKOverlay 特别是MKPolyline 在地图上显示路线 但是 我需要路线显示在我现有的引脚上方 自定义MKAnnotationViews 有没有好的方法可以带MKPolyline到引脚上方的前面 研究注释层可能会很有
  • 禁用 NSOutputStream 的 Nagle 算法

    我正在使用创建多人游戏MPCF 您可以使用 iPhone 在 iPad 上控制宇宙飞船 我在随机时间和间隔内经历了各种程度的滞后和延迟以及缓冲 暂停 现在已登陆苹果技术问答 NW26讨论禁用 Nagle 算法的论文 我正在尝试 但我的程序不
  • 如何在 jQuery 中动态添加锚点/href

    我是 jQuery 新手 我正在尝试将所有手机类转换为带有 h ref 的锚点 我拥有的 div class phone 111 111 1111 div div class phone 666 555 4444 div 我想要的是 div
  • 将项目添加到 ember-data 的过滤结果中

    我有一个DS Store它使用DS RESTAdapter and a ChatMessage对象定义如下 App ChatMessage DS Model extend contents DS attr string roomId DS
  • 如何使用c停止终端中的回显?

    假设我正在使用 fgets 读取字符串 并且我想防止该字符串的字符在终端内部回显 没有 bash 技巧 我怎样才能做到这一点 假设您在 POSIX 兼容操作系统上运行 您需要使用本地控制终端 termios 标志stdin using tc
  • 应用程序恢复时 android.support.v4.app.Fragment.setUserVisibleHint 空指针

    我在片段代码中的应用程序恢复时发生崩溃 我自己从未见过这种崩溃 但我通过 TestFlight 收到了用户返回的崩溃报告 我想我缺少一些东西 因为代码在大多数机器上运行良好 任何帮助将不胜感激 这是调用堆栈 java lang NullPo
  • 处理未在动态对象上定义的 C# 方法(又名 respond_to/method_missing)

    考虑到 C 4 中新的动态支持 是否可以以这样的方式编写一个类 如果在实例上调用方法并且该方法不存在 则将调度传递给另一个方法 这可能看起来像 public class Apple private MethodMissing string
  • 如何使MySQL表主键自增并带有一些前缀

    我有这样的桌子 table id Varchar 45 NOT NULL AUTO INCREMENT PRIMARY KEY name CHAR 30 NOT NULL 我想增加我的 id 字段 例如 LHPL001 LHPL002 LH