Estou inserindo na tabela a seguir usando LuaSQL com API PtokaX.
CREATE TABLE `requests` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`ctg` VARCHAR(15) NOT NULL,
`msg` VARCHAR(250) NOT NULL,
`nick` VARCHAR(32) NOT NULL,
`filled` ENUM('Y','N') NOT NULL DEFAULT 'N',
`dated` DATETIME NOT NULL,
`filldate` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `nick_msg` (`nick`, `msg`),
UNIQUE INDEX `ctg_msg` (`ctg`, `msg`)
)
COMMENT='Requests from users in any of the categories.'
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
Agora, meu problema é que, quando um usuário (representado por nick
) tenta inserir a mesma solicitação novamente, o UNIQUE
índice é verificado e o script retorna um false. Isso faz com que meu script falhe e eu tenho que reiniciar o script.
Existe algo que eu possa fazer no
INSERT ... ON DUPLICATE KEY
comando para que ele não faça nada ou, pelo menos, NÃO retorne um erro em caso deDUPLICATE KEY
?
Caso contrário, eu precisaria atualizar meu dated
campo com o novo DATETIME
valor.
fonte