php - 如何使用不同的字母来使相同的id递增?

标签 php mysql codeigniter

我正在 mysql 中使用 concat 创建用户 ID 这是我的代码查询

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(), 6, '0'));

END$$

DELIMITER ;

此查询将输出类似 LHPL001 的用户 ID,并且它是递增的。 是否可以在同一个表中获取LHPLS001? 像这样的伪代码。

if set >= 10 then
LHPLS001
else
LHPL001

感谢您的帮助。

最佳答案

你可以获得

从表中选择 MAX(id)

并在插入之前相应地构建if条件

建议的解决方案是使用 susbstr函数并提取 Id 值,最佳 pos 参数值 = 4

关于php - 如何使用不同的字母来使相同的id递增?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41328049/

相关文章:

javascript - 在 Codeigniter View 中注册外部 javascript 文件以便在输出页面时添加到 <head> 中?

php - 将文本的键值行转换为数组

javascript - 是否可以使用 jQuery 突出显示段落标记内的特定行

php - 如何在MySQL中循环来自多个表的数据?

php - 带有 % 百分比操作的嵌套 count() 函数

php - Doxygen 使用 php __construct() 跳过文件

php - 页面被请求两次

php - 更新 SQL 数据库中的 BIT 字段时出错(使用 PHP PDO 驱动程序)

javascript - ajax数据库插入后更新div

php - 使用php和mysql填充html select不是排序