Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Sr(s),
Alguem saberia como criar uma tigger semelhante a esta que possa pegar
o valor do próximo AUTO_INCREMENT da tabela.
O problema esta que esta tabela 'prontuario' pode ter a linha deletada e com isso
eu não posso usar o MAX(CodProntuario)+1.
Muito obrigado.
DROP TRIGGER IF EXISTS trigger_prontuario;
CREATE TRIGGER trigger_prontuario AFTER INSERT ON trabalhador
FOR EACH ROW INSERT INTO prontuario SET
CodTrabalhador = NEW.id,
CodNumerico = (SELECT MAX(CodProntuario)+1 FROM prontuario ), /*AQUI ESTA O PROBLEMA*/
DataProtuario = CURRENT_DATE()
;
DROP TABLE IF EXISTS `trabalhador`;
CREATE TABLE `trabalhador` (
`id` int(8) NOT NULL auto_increment,
`cpf` bigint(11) unsigned zerofill NOT NULL,
`nome` varchar(60) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `cpf` (`cpf`),
KEY `id` (`id`,`nome`)
) ENGINE=InnoDB AUTO_INCREMENT=38809 DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `prontuario`;
CREATE TABLE `prontuario` (
`CodProntuario` bigint(20) unsigned NOT NULL auto_increment,
`CodTrabalhador` bigint(20) unsigned NOT NULL,
`CodNumerico` bigint(20) unsigned default NULL,
`DataProtuario` date default NULL,
PRIMARY KEY (`CodProntuario`),
KEY `PRONTUARIO_FKIndex1` (`CodTrabalhador`)
) ENGINE=InnoDB AUTO_INCREMENT=52033 DEFAULT CHARSET=latin1;Carregando comentários...