PHP MySQLi插入获取最后一列值添加1

PHP MySQLi插入获取最后一列值添加1,php,mysql,mysqli,insert,Php,Mysql,Mysqli,Insert,我正在尝试对包含3列的表运行INSERT查询。第一栏是我的问题所在 它被称为COMM_代码,VARCHAR值的长度为10,是主键,如果未选中ALLOW NULL,则它是主键 COMM_代码的值如下所示: COMM_CODE c20188 c20189 c20190 // and so on 我想做的是,当插入一条新记录时,基本上在最近的记录中添加1 因此,最近的记录是: c20190 因此,当我添加新记录时,新记录的COMM_代码将为: c20191 我试过这个: INSE

我正在尝试对包含3列的表运行INSERT查询。第一栏是我的问题所在

它被称为COMM_代码,VARCHAR值的长度为10,是主键,如果未选中ALLOW NULL,则它是主键

COMM_代码的值如下所示:

 COMM_CODE
 c20188
 c20189
 c20190
 // and so on
我想做的是,当插入一条新记录时,基本上在最近的记录中添加1

因此,最近的记录是:

 c20190
因此,当我添加新记录时,新记录的COMM_代码将为:

 c20191
我试过这个:

 INSERT INTO table_c 
   (COMM_CODE, COMM_DESC, DATE) 
 VALUES 
   (''+1, 'VIDEO GAMES', NOW());
但这只会在该列中添加一个数字1


我怎样才能做到这一点呢?

这里是您查询的解决方案: 为了生成新代码,我在mysql中创建了get_new_code函数。我希望您了解mysql中函数的工作原理

CREATE FUNCTION `get_new_code`() RETURNS varchar(11)
BEGIN 
    Declare var_code VARCHAR(11);
    SELECT max(`COMM_CODE`) INTO var_code FROM table_c;
    RETURN (CONCAT('c',(convert(substr(var_code,2,length(var_code)), SIGNED INTEGER)+1)));
END
为了验证您的逻辑,您可以使用:

select get_new_code();
这样你就能得到清晰的图像。 在insert查询中调用此get_new_code函数,如下所示:

INSERT INTO 
`table_c`(`COMM_CODE`, `COMM_DESC`, `COMM_DATE`) 
VALUES 
(get_new_code(),'Description text',NOW());

这应该能解决你的问题

您想如何向字符串中添加1?这就是我要解决的问题。我需要能够获得最新的通信代码,然后添加到其中。这可能吗?