0
Я пытаюсь создать триггер для генерации уникального идентификатора с использованием первых двух символов имени лица и первых трех символов их фамилии. Это ошибка, я в настоящее время работает через:Триггер уникального идентификатора пользователя MySQL с использованием конкатенированных столбцов подстроки
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@firstID varchar(2), DECLARE @lastID varchar (3), DECLARE @newID varchar (5); ' at line 3
Я также не думаю, что я могу просто добавить две строки() переменные, используя только «+», но CONCAT
не работает либо. Пожалуйста помоги!
DELIMITER @@
CREATE TRIGGER EID BEFORE INSERT ON edrstaff FOR EACH ROW
BEGIN
DECLARE @firstID varchar(2),
DECLARE @lastID varchar (3),
DECLARE @newID varchar (5);
SET @firstID = (
SELECT SUBSTRING(fname, FROM 1 FOR 2))
FROM edrstaff
WHERE fname = new.fname)
SET @lastID = (SELECT SUBSTRING(lname, FROM 1 FOR 3))
FROM edrstaff
WHERE lname = new.lname);
SET @newID = @firstID + @lastID;
END @@
Спасибо за ваш ответ! но я получил эту ошибку # 1054 - Неизвестный столбец 'lname' в 'NEW' – Louisa
Добро пожаловать. Пожалуйста, разместите таблицу 'edrstaff' (предпочтительнее в форме оператора' CREATE TABLE') и оператора 'INSERT', который вызвал эту ошибку. – peterm
@ Louisa Вам нужна дополнительная помощь по вашему вопросу? – peterm