首页 文章

MySQL:创建一个具有自动增量的表,并将生成的值与同一个表的不同列的值连接起来

提问于
浏览
0

我想创建一个具有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);

如何正确地将值插入此表?请帮忙 .

2 回答

  • 1

    如果您的用户名始终是 iddept 的串联,则无需为其创建单独的列,您只需使用MySQL CONCAT函数选择它,如下所示:

    SELECT id, name, dept, CONCAT(id, '-', dept) AS username FROM employee
    

    这将返回 username 的结果,如 13-sales .

    如果您想要实际存储用户名(可能是因为您希望以后能够自定义它),则必须首先插入行以获取ID,然后将用户名的行设置为连接的id和dept .

  • 0

    你可以在MySQL上使用null作为最后一个id的auto traslate:

    INSER INTO employee (name, dept) VALUES (?,?);
    UPDATE employee SET username = concant(emp_id,dept) WHERE emp_id = NULL;
    

相关问题