我具有以下结构的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"
此外,如果该逻辑不在触发器中而是在表定义中或在插入查询本身中,那将很好。
因此,为新注册创建唯一的用户名的目的。
谢谢!
您可以使用存储过程来实现。创建一个接受用户名参数的存储过程。在您的SP中,检查UserName是否为null或为空,并编写逻辑。让我知道您是否需要精确的SP定义