【发布时间】:2020-07-30 18:28:47
【问题描述】:
我有以下结构的 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"
如果我们为 name 发送空值也会很好:
INSERT INTO users (name) VALUES ('');
id=8233
name = "User8233"
但如果我明确设置应该是的值:
INSERT INTO users VALUES ('TestUser')
id=8232
name = "TestUser"
此外,如果该逻辑不在触发器中,而是在表定义中或插入查询本身中,那就太好了。
因此,为新注册创建唯一用户名的目的。
谢谢!
【问题讨论】:
-
你想达到什么目的?
-
@Ben 唯一的用户名:如“用户”+ ID(也更新了问题描述)
-
列列表的默认值是整个集合。因此,您的最后一个
INSERT无效。