mysql数据库怎么设置标识列在MySql数据库中怎么设置类似Sqlserver数据库中的标识列。其中有一个字段是int型,我设置的是自动递增。可是向数据库中插入数据的时候报错,说列的个数跟插入的数据个数不匹配。。。。我是第一次用MySql数据库,请问怎么设置标识列?——解决方案——————–假设表里面有2个字段id 和name, id设置为auto_increment插入数据时让id自动+1用insert into tbl_name (name) values (‘XXXX’);如果用insert into tbl_name values(…)就要输入全部参数 ——解决方案——————–引用3.6.9. 使用AUTO_INCREMENT可以通过AUTO_INCREMENT属性为新的行产生唯一的标识:CREATE TABLE animals ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id) );INSERT INTO animals (name) VALUES (‘dog’),(‘cat’),(‘penguin’), (‘lax’),(‘whale’),(‘ostrich’);SELECT * FROM animals;将返回:+—-+———+| id | name |+—-+———+| 1 | dog || 2 | cat || 3 | penguin || 4 | lax || 5 | whale || 6 | ostrich |+—-+———+你可以使用LAST_INSERT_ID()SQL函数或mysql_insert_id() C API函数来查询最新的AUTO_INCREMENT值。这些函数与具体连接有关,因此其返回值不会被其它执行插入功能的连接影响。注释:对于多行插入,LAST_INSERT_ID()和mysql_insert_id()从插入的第一行实际返回AUTO_INCREMENT关键字。在复制设置中,通过该函数可以在其它服务器上正确复制多行插入。对于MyISAM和BDB表,你可以在第二栏指定AUTO_INCREMENT以及多列索引。此时,AUTO_INCREMENT列生成的值的计算方法为:MAX(auto_increment_column) + 1 WHERE prefix=given-prefix。如果想要将数据放入到排序的组中可以使用该方法。CREATE TABLE animals ( grp ENUM(‘fish’,’mammal’,’bird’) NOT NULL, id MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (grp,id));INSERT INTO animals (grp,name) VALUES (‘mammal’,’dog’),(‘mammal’,’cat’), (‘bird’,’penguin’),(‘fish’,’lax’),(‘mammal’,’whale’), (‘bird’,’ostrich’);SELECT * FROM animals ORDER BY grp,id;将返回:+——–+—-+———+| grp | id | name |+——–+—-+———+| fish | 1 | lax || mammal | 1 | dog || mammal | 2 | cat || mammal | 3 | whale || bird | 1 | penguin || bird | 2 | ostrich |+——–+—-+———+请注意在这种情况下(AUTO_INCREMENT列是多列索引的一部分),如果你在任何组中删除有最大AUTO_INCREMENT值的行,将会重新用到AUTO_INCREMENT值。对于MyISAM表也如此,对于该表一般不重复使用AUTO_INCREMENT值。如果AUTO_INCREMENT列是多索引的一部分,MySQL将使用该索引生成以AUTO_INCREMENT列开始的序列值。。例如,如果animals表含有索引PRIMARY KEY (grp, id)和INDEX(id),MySQL生成序列值时将忽略PRIMARY KEY。结果是,该表包含一个单个的序列,而不是符合grp值的序列。要想以AUTO_INCREMENT值开始而不是1,你可以通过CREATE TABLE或ALTER TABLE来设置该值,如下所示:mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;关于AUTO_INCREMENT的详细信息:· 如何为列指定AUTO_INCREMENT属性:13.1.5节,“CREATE TABLE语法”和 13.1.2节,“ALTER TABLE语法”。· AUTO_INCREMENT的动作取决于SQL模式:5.3.2节,“SQL服务器模式”。· 找出含有最新AUTO_INCREMENT值的行:12.1.3节,“比较函数和操作符”。· 设置将用到的AUTO_INCREMENT值: 13.5.3节,“SET语法” 。· AUTO_INCREMENT和复制:6.7节,“复制特性和已知问题”. 搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:MySql数据库如何设置标识列 喜欢 (1)赏[搞代码]分享 (0)