Mysql 创建一个触发器,如果

Mysql 创建一个触发器,如果,mysql,sql,Mysql,Sql,我需要一些关于在mysql中创建触发器的帮助: 我有一个名为“国家”的专栏和另一个名为“标签”的专栏 例如,每当有人在城市“Los Angeles”中插入时,我希望我的触发器在“tag”列中插入文本“is from California” 编辑: 似乎执行时没有错误,但没有在“标记”列中插入任何内容, 有什么想法吗?为什么 附言:我希望那些给这篇文章打分为“-”的人能给我写封邮件,告诉我我做错了什么:)。谢谢。您不能使用insert语句更新当前正在处理的行。您应该使用SET NEW.cxy=“语

我需要一些关于在mysql中创建触发器的帮助: 我有一个名为“国家”的专栏和另一个名为“标签”的专栏

例如,每当有人在城市“Los Angeles”中插入时,我希望我的触发器在“tag”列中插入文本“is from California”

编辑:

似乎执行时没有错误,但没有在“标记”列中插入任何内容, 有什么想法吗?为什么


附言:我希望那些给这篇文章打分为“-”的人能给我写封邮件,告诉我我做错了什么:)。谢谢。

您不能使用insert语句更新当前正在处理的行。您应该使用
SET NEW.cxy=“
语法

我已经为你们准备好了,希望这能显示出你们想要达到的目标

CREATE TABLE users (
  id int auto_increment PRIMARY KEY,
  `city` varchar(255),
  `tag` varchar(255)
  )//


CREATE TRIGGER update_tag BEFORE UPDATE ON users
    FOR EACH ROW
    BEGIN
        IF (NEW.city = 'Los Angeles') THEN 
            SET NEW.tag = "California";
        END IF;
    END//

INSERT INTO users VALUES (1, 'test', '')//
UPDATE users SET `city` = 'Los Angeles'//
请注意,这也是更新前的
触发器,因此您的更改也会被保存

如果向用户发出
SELECT*命令

1     Los Angeles    California

还有一些包含触发器的示例。你应该仔细阅读。

那么如果用户添加了标签,比如说纽约市,你该如何标记?代码如何知道标签名?你想让我们为你做研究吗?你在什么地方看过吗?例如这里:在我看来,这在服务器端代码(例如php)上得到了更好的解决,因为您需要将城市(国家?!)映射到州(标记?)。你需要在MySQL中解决这个问题吗?其实不需要在MySQL中解决。我只想学习一些关于触发器的知识。您应该将字符串
California
用引号括起来。我现在尝试将其用于通过html表单发送的数据。当一个用户说他的名字是:John Doe,他来自洛杉矶,我想给他加上“California”标签。是否有需要添加而我缺少的somnething?否,您必须执行一次
create table
create trigger
语句,例如使用PHPMyAdmin。如果随后向表中插入某些内容,则会执行触发器。
1     Los Angeles    California