2015-11-05 86 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 | 
+---------------+ 

你不需要觸發器來得到這樣的結果。