Artigo Diretório
MySQLComo criar uma sequência?banco de dados MySQLCriar uma instrução de sequência de incremento automático
Uso de sequência do MySQL
A sequência do MySQL é um conjunto de números inteiros: 1, 2, 3, ..., já que uma tabela de dados só pode ter uma chave primária de auto-incremento de campo, se você quiser obter o incremento automático de outros campos, você pode usar o MySQL sequência a alcançar.
Neste capítulo, descreveremos como usar sequências do MySQL.
Usar AUTO_INCREMENT
A maneira mais fácil de usar sequências no MySQL é usar MySQL AUTO_INCREMENT para definir colunas.
Instância
A tabela de dados Insect é criada no exemplo a seguir, onde nenhum valor é especificado para crescimento automático.
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,#昆虫类型- > 日期DATE NOT NULL ,#收集日期- > origin VARCHAR (30 )NOT NULL #where collected ); 查询OK ,0 行受影响(0.02 秒) mysql > INSERT INTO insects (id ,name ,date ,origin )VALUES - > (NULL ,'housefly' ,'2001-09-10' ,'kitchen' ),- > (NULL ,'millipede' ,'2001-09-10 ' ,'车道' ),- > (NULL ,'grasshopper' ,'2001-09-10' ,'front yard' ); 查询OK , 秒)记录:3 重复:0 警告:0 mysql > 选择* 从昆虫ORDER BY ID ; + ---- + ------------- + ------------ + ------------ + | id | 名字 | 日期 | 起源 | + ---- + ------------- + ------------ + ------------ + | 1 | 家蝇 | 2001 - 09 - 10 | 厨房 | | 2 | 千足虫 | 2001 - 09 - 10 | 车道 | | 3 | 蚱蜢| 2001 - 09 - 10 | 前院| + ---- + ------------- + ------------ + ------------ + 3 行中集(0.00 秒)
Obter valor AUTO_INCREMENT
No cliente MySQL você pode usar a função LAST_INSERT_ID() no SQL para obter o valor da última coluna auto-incrementada inserida na tabela.
As funções correspondentes também são fornecidas no script PHP ou PERL para obter o valor da última coluna auto-incrementada inserida na tabela.
instância PERL
Use a propriedade mysql_insertid para obter o valor de AUTO_INCREMENT.Os exemplos são os seguintes:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
Exemplo PHP
O PHP obtém o valor da coluna AUTO_INCREMENT na instrução SQL de inserção executada através da função mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
sequência de redefinição
Se você excluir vários registros na tabela de dados e quiser reorganizar a coluna AUTO_INCREMENT dos dados restantes, poderá fazer isso excluindo a coluna de incremento automático e adicionando-a novamente.No entanto, esta operação tem que ser muito cuidadosa, se for o caso.Ao mesmo tempo da exclusão, novos registros são adicionados, podendo haver confusão de dados. As operações são as seguintes:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Defina o valor inicial da sequência
Em geral, o valor inicial da sequência é 1, mas se você precisar especificar um valor inicial de 100, podemos fazê-lo com a seguinte instrução:
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,- > date DATE NOT NULL ,- > origin VARCHAR (30 )NOT NULL )engine = innodb auto_increment = 100 charset = utf8 ;
Ou você também pode usar a seguinte instrução depois que a tabela for criada com sucesso:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartilhado "Como o MySQL cria uma sequência? banco de dados MySQL para criar instrução de sequência auto-incrementável", para ajudá-lo.
Bem-vindo a compartilhar o link deste artigo:https://www.chenweiliang.com/cwl-498.html
Bem-vindo ao canal Telegram do blog de Chen Weiliang para receber as últimas atualizações!
📚 Este guia contém um valor enorme, 🌟Esta é uma oportunidade rara, não perca! ⏰⌛💨
Compartilhe e curta se gostar!
Seus compartilhamentos e curtidas são nossa motivação contínua!