gpt4 book ai didi

mysql - 如何在mysql中为标识列添加前缀。?

转载 作者:行者123 更新时间:2023-11-29 02:25:48 25 4
gpt4 key购买 nike

我在这里尝试自动增加 mysql 数据库中的身份列,如下所示,在数字前添加前缀。

Id----------------类别

Cat10001------------男
Cat10002--------女装
Cat10003-------- child

这里是 link我提到这样做但是我被一个错误挂断了

错误:#1064 - 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在第 4 行的“AS 'ABCD-' + CAST(Id as varchar(16)) )'附近使用的正确语法

MySql 查询:

CREATE TABLE MyTable
(
Id int NOT NULL PRIMARY KEY,
categoryid AS 'cat' + CAST(Id as varchar(16))
)

注意:我使用的是 PhpMyadmin mysql。

最佳答案

您可以使用 BEFORE INSERT 触发器。你可以这样做。请查看下方内容,看看这是否是您所需要的。

CREATE TABLE MyTable
(
Id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
categoryid varchar(16),
categoryname varchar(16)
);

CREATE TRIGGER mytrigger
BEFORE INSERT
ON MyTable
FOR EACH ROW
SET NEW.categoryid =
CONCAT("CAT",COALESCE((SELECT MAX(Id)+1 from MyTable),1));

insert into MyTable(categoryid,categoryname) Values(1,"test");
insert into MyTable(categoryid,categoryname) Values(2,"test1");

关于mysql - 如何在mysql中为标识列添加前缀。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com