Can I have an MySQL database auto-assign a value to a column after an insert statement?

人走茶凉 提交于 2019-12-23 18:31:42

问题


Given a table employee with columns ID(pk) and name

ID|name
--+-----
1 |John
2 |James
3 |Tom

Can I do

INSERT INTO employee (name) VALUES (Jack);

and somehow have the database auto assign the next available ID? Can a trigger do it? If so, how?


回答1:


Create your table with an identity autoincrement column:

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



回答2:


You want auto increment column. You can refer to the documentation here: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html




回答3:


You can use the AUTO INCREMENT Feature in My Sql. When you create the table, you can do something like this:

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

Or May be use the alter table Query to modify the column ID to have auto incremented values



来源:https://stackoverflow.com/questions/6614982/can-i-have-an-mysql-database-auto-assign-a-value-to-a-column-after-an-insert-sta

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!