2015-11-05 23 views
4
CREATE TABLE IF NOT EXISTS `mydb`.`Info_instrumental` (
    `id_instrument` INT NOT NULL COMMENT '', 
    `instrument` VARCHAR(45) NOT NULL COMMENT '', 
    `exp_ins` VARCHAR(45) NULL COMMENT '', 
    `User_name_user` VARCHAR(45) NOT NULL COMMENT '', 
    PRIMARY KEY (`id_instrument`, `User_name_user` `) COMMENT '', 
    INDEX `fk_Info_instrumental_User1_idx` (`User_name_user` ` ASC) COMMENT '', 
    CONSTRAINT `fk_Info_instrumental_User1` 
    FOREIGN KEY (`User_name_user`) 
    REFERENCES `mydb`.`Usuario` (`name_user`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) 
ENGINE = InnoDB; 

我想增加我的ID字段像'001','002','003'....我怎样才能做到这一点使用触发器?如何让MySQL表主键自动增量?

我想是这样的:

| id_instrument | instrument| exp_ins | User_name_user 
------------------------------------------------------ 
|  001  | guitar | 2 years | Marcus 
|  002  | piano  | 6 months| Leo 
+1

'int'值没有前导零。 – Dai

回答

2

你可以使用关键字zerofill在创建表,看看你正在寻找的结果。这里有一个例子:

mysql> create table info_instrumental (
    >  id_instrument int(3) zerofill not null primary key auto_increment 
    >); 

mysql> insert into info_instrumental values (1), (2), (3); 

mysql> select * from info_instrumental; 
+---------------+ 
| id_instrument | 
+---------------+ 
|   001 | 
|   002 | 
|   003 | 
+---------------+ 

你不需要触发器来得到这样的结果。