我可以让一个MySQL数据库在插入语句后自动为列赋值吗?

时间:2011-07-07 17:55:32

标签: mysql triggers insert-statement

给定一个具有列ID(pk)和名称

的表员工
ID|name
--+-----
1 |John
2 |James
3 |Tom

我可以吗

INSERT INTO employee (name) VALUES (Jack);

并以某种方式让数据库自动分配下一个可用的ID?触发器能做到吗?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:2)

您想要自动增量列。您可以参考此处的文档: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

答案 1 :(得分:2)

您可以在My Sql中使用AUTO INCREMENT Feature。创建表时,您可以执行以下操作:

CREATE TABLE employee(
 id MEDIUMINT NOT NULL AUTO_INCREMENT,
 name CHAR(30) NOT NULL,
 PRIMARY KEY (id)
) ENGINE=MyISAM;

或者可以使用alter table查询修改列ID以获得自动递增的值

答案 2 :(得分:1)

使用身份自动增量列创建表:

CREATE TABLE table_name
(
   id INTEGER AUTO_INCREMENT PRIMARY KEY,
   -- other columns to follow
)