`
wly719
  • 浏览: 286793 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

mysql修改表为字段添加auto_increment

阅读更多
比如我创建这样一个表

CREATE TABLE people ( peopleid SMALLINT NOT NULL, name CHAR(50) NOT NULL );

我要为peopleid添加一个auto_increment 让他自动整长,开始mysql总是报1075错误;于是查了一下关于mysql 1075的错误,

错误:1075 SQLSTATE: 42000 (ER_WRONG_AUTO_KEY)

消息:不正确的表定义,只能有1个auto列,而且必须将其定义为 键。

这是才明白 原来需要先添加一个主键

alter table people add primary key (peopleid);

alter table people change peopleid peopleid smallint auto_increment;


这样就成功了

那么,如果我们不添加主键呢?? 是不是就不可以了,当然不是

如果没有主键的话,我们这样也可以

alter table people change peopleid peopleid smallint auto_increment unique;


这样也是可以的,这里应该有一个注意,我刚开始的时候每次都没有修改都没有表明字段类型,总是报错,切忌要声明字段的类型.

分享到:
评论

相关推荐

    MySQL 序列 AUTO_INCREMENT详解及实例代码

    MySQL序列是一组整数:1, 2, 3, …,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。 本章我们将介绍如何使用MySQL的序列。 使用AUTO_INCREMENT MySQL中...

    python mysql自增字段AUTO_INCREMENT值的修改方式

    主要介绍了python mysql自增字段AUTO_INCREMENT值的修改方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    mysql中自增auto_increment功能的相关设置及问题

    mysql中的自增auto_increment功能相信每位phper都用过,本文就为大家分享一下mysql字段自增功能的具体查看及设置方法

    Mysql auto_increment 重新计数(让id从1开始)

    当清空一个表的时候,重新插入数据,发现auto_increment属性的字段计数不是从1开始的时候,可以使用以下命令

    mongoid_auto_increment_id:将ID字段覆盖到MySQL,例如Mongoid的自动增量

    像MySQL一样,将Mongoid id字段更改为Integer的宝石。 MongoDB文档中的想法: 注意! 这个宝石已经帮助超过了4年,并产生了超过一百万行,这是非常工作的意愿。 现在,Ruby China( )已更改为ActiveRecord以将...

    mysql自增ID起始值修改方法

    在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法。通常的设置自增字段的方法:创建表格时添加: 代码如下:create table ...

    Mysql数据库设计.pdf

    a%b表⽰以a开头b结尾的任意长度的字符串 _(下横线) a_b表⽰以a开头b结尾的长度为3的任意字符, PRIMARY KEY UNIQUE NOT NULL AUTO_INCREMENT DEFAULT default_value PRIMARY KEY 与UNIQUE 数据库操作: show ...

    MySql创建带解释的表及给表和字段加注释的实现代码

    gid INT PRIMARY KEY AUTO_INCREMENT COMMENT '设置主键自增', gname VARCHAR(200) COMMENT '列注释' ) COMMENT='\u8868\u6ce8\u91ca'; 2 修改现有列,加上解释 alter table test_data modify column test_desc ...

    MySQL常用的建表、添加字段、修改字段、添加索引SQL语句写法总结

    本文实例讲述了MySQL常用的建表、添加字段、修改字段、添加索引SQL语句写法。分享给大家供大家参考,具体如下: 建表: DROP TABLE IF EXISTS bulletin; CREATE TABLE bulletin( id INT NOT NULL PRIMARY KEY AUTO...

    mysql创建表.docx

    创建MySQL表需要使用CREATE TABLE语句,并指定表的名称以及各个字段的名称和数据类型。下面是一个示例,创建一个名为`users`的表,包含`id`、`username`和`password`字段: ```sql CREATE TABLE users ( id INT ...

    144790个去重/未去重的按连续/不连续ID排序的单词、注音、释义、例句表(MySQL,可直接加载导入数据库,注音单独成字段)

    MySQL表的字段如下所示: Field Type Null Key Default Extra id int unsigned NO PRI NULL auto_increment word varchar(50) NO NULL pronunciation varchar(100) YES NULL meaning varchar(500) NO NULL ...

    MySQL自增长键理解

    自增长键 # 查看自增长键配置 ...新的自增值生成算法是:从auto_increment_offset(初始值)开始,以auto_increment_increment(步长)为步长,持续叠加,直到找到第一个大于X的值,作为新的自增值. 自增字段必

    mysql创建表.pdf

    AUTO_INCREMENT关键词意味着每当有新记录被插入到表中时,"id"字段的值会自动增加。 请注意,每个数据库系统对SQL语法和数据类型都有自己的特定规则。上述例子是适用于MySQL的。在其他数据库系统中,可能会有所不同...

    Mysql获取id最大值、表的记录总数等相关问题的方法汇总

    二、获取mysql表自增(Auto_increment)值 Auto_increment是表中的一个属性,只要把表的状态获取到,也就可以获取到那个自增值 SQL语句: show table status like “表名”; php代码实现 $get_table_status_sql = ...

    MySQL中不能创建自增字段的解决方法

    引起MySQL不能创建自动增加的字段的原因是在MySQL5.0.2版本中的The Server SQL Mode 中新加了几种 sql_mode,并且在sql的my.ini文件中的sql-mode 默认增加了其中的二种,一个是STRICT_TRANS_TABLES,就是导致auto_...

    2023年全新MySQL大厂面试经验

    id int auto_increment primary key, first_name varchar(16), last_name VARCHAR(16), id_card VARCHAR(18), information text ); -- 更改表结构 alter table user_index -- 创建一个first_name和last_name的...

    mysql中使用replace替换某字段的部分内容

    最近有个朋友提到如何使用sql来删除一个字段中部分内容,于是就写了这篇文章,简单记过: 测试表如下: 代码如下: CREATE TABLE `t` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `domain` tinytext,...

Global site tag (gtag.js) - Google Analytics