У меня в таблице есть ID
, и tr_code
,
ID tr_code
15 587-20140125-79-15
255 655-20140525-65-255
4587 611-20160815-72-4587
...............................
35681 715-20170125-45-35681
мне нужен создать тригер чтобы проверял если ID
не совпадает с последним цифрами после - на tr_code, исправил:
НАПРИМЕР
ID tr_code
*381* 587-20140125-79-*384*
Он бы исправил на так
ID tr_code
*381* 587-20140125-79-*381*
Заранее спасибо
Вы меняете вводимые пользовательские данные до завершения транзакции - в этом случае лучше использовать время BEFORE. test
- название вашей таблицы:
CREATE TRIGGER `test_checkCode` BEFORE UPDATE ON `test`
FOR EACH ROW
BEGIN
DECLARE code integer default 0;
DECLARE newCode varchar(250) default '';
SET code = RIGHT(NEW.`tr_code`, LENGTH(SUBSTRING_INDEX( REVERSE(NEW.`tr_code`), '-', 1 ) ) );
if(NEW.ID != code) THEN
SET newCode = CONCAT(SUBSTRING_INDEX( new.tr_code, '-', (LENGTH( new.tr_code ) - LENGTH( REPLACE( new.tr_code, '-', '' ) ) ) ), '-' , NEW.ID
) ;
SET NEW.`tr_code` = newCode;
END IF;
END
Здесь я использовал:
P.S. Для такой модерации, моё мнение, стоит рассмотреть возможность выноса кода на уровень ввода, а не записи в БД.
В базе данных mysql есть поле dateВ записях базы данных дата выглядит как 2015-01-15 23:58:58
Как можно посмотреть описания стандартных классов, например, Integer или String через Intellij idea?
Здравствуйте! Я новичок в веб-разработкеНе могу правильно задеплоить glassfish
У меня есть, например, такой текст: "Вот какой-то \n рандомный текст"