0

我想创建一个具有 id、name、dept、username 属性的表员工。

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);

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

4

2 回答 2

1

如果您的用户名将始终是 and 的连接iddept您不需要为其创建单独的列,您可以使用 MySQL CONCAT函数选择它,如下所示:

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

这将返回usernamelike的结果13-sales

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

于 2012-05-15T16:55:56.600 回答
0

您可以在 MySQL 上使用 null 作为最后一个 id 进行自动翻译:

INSER INTO employee (name, dept) VALUES (?,?);
UPDATE employee SET username = concant(emp_id,dept) WHERE emp_id = NULL; 
于 2012-05-15T17:00:42.910 回答