触发器中的字段被提示Unknown system variable
时间: 2023-05-11 16:05:16 浏览: 224
这个问题可能是因为你在触发器中使用了一个未知的系统变量。你可以检查一下你的代码,看看是否有拼写错误或者其他语法错误。另外,你也可以查看一下MySQL的文档,了解一下哪些系统变量是可以在触发器中使用的。希望这可以帮助你解决问题。
相关问题
mysql5.6触发器中如何获取插入数据字段值
在 MySQL 5.6 中,可以使用 NEW 关键字来获取插入数据的字段值。当在触发器中定义 INSERT 事件时,可以通过 NEW 关键字来引用新增的行的列值。
以下是一个简单的示例,在该示例中,定义了一个名为 `customers` 的表和一个名为 `log` 的表,并在 `customers` 表上定义了一个名为 `customers_insert_trigger` 的 INSERT 触发器。当往 `customers` 表插入新的一行时,`customers_insert_trigger` 触发器会将该行插入到 `log` 表中,并记录插入时间。
```sql
CREATE TABLE customers (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
email VARCHAR(50)
);
CREATE TABLE log (
id INT PRIMARY KEY,
customer_id INT,
insert_time DATETIME
);
CREATE TRIGGER customers_insert_trigger
AFTER INSERT ON customers
FOR EACH ROW
BEGIN
INSERT INTO log (customer_id, insert_time)
VALUES (NEW.id, NOW());
END;
```
在上述示例中,`NEW.id` 表示插入行的 `id` 列的值,`NOW()` 函数表示当前时间。您可以根据需要修改触发器的逻辑,以实现您的业务需求。
触发器实现字段运算后会写进另一个字段
是的,触发器可以实现字段运算后将结果写入另一个字段。触发器可以在指定的表上触发特定的操作,例如插入、更新或删除数据。在触发器中,可以使用SQL语句对字段进行运算,并将运算结果写入到另一个字段中。例如,可以使用UPDATE语句将运算结果写入到表中相应的字段中。具体实现方式可以参考数据库的相关文档和教程。需要注意的是,在使用触发器时,应当避免对表进行过多的操作,以避免影响数据库的性能。