【发布时间】:2021-02-14 22:59:00
【问题描述】:
我正在尝试创建一个函数,该函数可以从作为参数给出的任何表中创建一个新 ID。
DROP FUNCTION IF EXISTS create_id;
DELIMITER $$
CREATE FUNCTION create_id(db_table TEXT,pkey TEXT,strlen INT,joinner TEXT)
RETURNS TEXT
BEGIN
DECLARE max_id TEXT;
DECLARE new_id TEXT;
SET max_id = (SELECT MAX(pkey) FROM db_table);
SET new_id = max_id;
RETURN new_id;
END;
$$
DELIMITER ;
感谢您的回答
【问题讨论】:
-
这是一个真的,非常糟糕的主意。如果您有多个事务这样做,它根本无法正常工作。
标签: mysql sql stored-procedures dynamic-sql sql-function