Wal*_*erV 2 mysql sql sql-function
我有一个带有slug字段的表.通过操纵另一个字段,可以通过函数自动填充此字段吗?
就像是:
INSERT INTO people('name','slug') VALUES ('xxxx',SLUG(name));
Run Code Online (Sandbox Code Playgroud)
你在找这样的东西吗?
CREATE TABLE people
(`name` varchar(128), `slug` varchar(128));
-- It's not a real function it's just an oversimplified example
-- you need to implement your own logic
CREATE FUNCTION NAME_SLUG(name VARCHAR(128))
RETURNS VARCHAR(128)
RETURN LOWER(REPLACE(name, ' ', '-'));
CREATE TRIGGER tg_people_insert
BEFORE INSERT ON people
FOR EACH ROW
SET NEW.slug = NAME_SLUG(NEW.name);
INSERT INTO people (`name`)
VALUES ('Jhon Doe'),('Ian Martin Louis'), ('Mark Lee');
SELECT * FROM people;
Run Code Online (Sandbox Code Playgroud)
输出:
| NAME | SLUG | --------------------------------------- | Jhon Doe | jhon-doe | | Ian Martin Louis | ian-martin-louis | | Mark Lee | mark-lee |
这是SQLFiddle演示
| 归档时间: |
|
| 查看次数: |
2046 次 |
| 最近记录: |