Evitar incremento automático na inserção duplicada do MySQL
Usando o MySQL 5.1.49, estou tentando implementar um sistema de marcação, o problema que tenho é com uma tabela com duas colunas:id(autoincrement)
, tag(unique varchar)
(InnoDB)
Ao usar a consulta,INSERT IGNORE INTO tablename SET tag="whatever"
, o incremento automáticoid
o valor aumenta mesmo que a inserção tenha sido ignorad
Normalmente isso não seria um problema, mas espero muitas tentativas possíveis de inserir duplicatas para essa tabela específica, o que significa que meu próximo valor paraid
campo de uma nova linha estará pulando demais.
Por exemplo, vou terminar com uma tabela com, digamos, 3 linhas, mas ruimid
's
1 | test
8 | testtext
678 | testtextt
Also, se eu não fizerINSERT IGNORE
e faça regularmenteINSERT INTO
e lida com o erro, o campo de incremento automático ainda aumenta e a próxima inserção verdadeira ainda é um incremento automático errad
Existe uma maneira de parar o incremento automático se houver umINSERT
tentativa de linha duplicada?
Pelo que entendi no MySQL 4.1, esse valor não aumentaria, mas a última coisa que quero fazer é acabar fazendo um monte deSELECT
com antecedência para verificar se as tags existem, ou pior ainda, rebaixar minha versão do MySQ