MySQL设置具有记录ID的默认字段值concat

问题描述 投票:0回答:1

我具有以下结构的MySQL表:

-------------
| id | name | 
-------------

ID为int auto_increment,名称仅为varchar(255)。

因此,我需要使用数据库默认值来设置名称(如果在插入请求后为空,则为:),例如:

INSERT INTO users;
id = 1
name = "User1"

...它也应该与null一起工作:

INSERT INTO users (name) VALUES (null);
id=8232
name = "User8232"

而且如果我们为名称发送空值,那也很好:

INSERT INTO users (name) VALUES ('');
id=8233
name = "User8233"

但是如果我明确设置应该为:

INSERT INTO users VALUES ('TestUser')
id=8232
name = "TestUser"

此外,如果该逻辑不在触发器中而是在表定义中或在插入查询本身中,那将很好。

因此,为新注册创建唯一的用户名的目的。

谢谢!

mysql ddl varchar
1个回答
0
投票

您可以使用存储过程来实现。创建一个接受用户名参数的存储过程。在您的SP中,检查UserName是否为null或为空,并编写逻辑。让我知道您是否需要精确的SP定义

© www.soinside.com 2019 - 2024. All rights reserved.