我想创建一个具有id,name,dept,username属性的表employee。
id列值为auto_increment。我想将id的值与dept连接起来以生成用户名。
以下是我写的查询: create table employee emp_id MEDIUMINT NOT NULL AUTO_INCREMENT,name char(30)NOT NULL,dept char(6)NOT NULL,username varchar NOT NULL PRIMARY KEY(emp_id);
如何正确地将值插入此表?请帮忙。
答案 0 :(得分:1)
如果您的用户名始终是id
和dept
的串联,则无需为其创建单独的列,您只需使用MySQL CONCAT选择它即可。功能,像这样:
SELECT id, name, dept, CONCAT(id, '-', dept) AS username FROM employee
这将返回username
的结果13-sales
。
如果您想要实际存储用户名(可能是因为您希望以后能够自定义它),则必须首先插入行以获取ID,然后更新行设置用户名到连接ID和部门。
答案 1 :(得分:0)
你可以在MySQL上使用null作为自动traslate作为最后一个id:
INSER INTO employee (name, dept) VALUES (?,?);
UPDATE employee SET username = concant(emp_id,dept) WHERE emp_id = NULL;