gpt4 book ai didi

php - mysql触发器或php代码

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:12 25 4
gpt4 key购买 nike

我的 MySQL 数据库有 21 个表,在每个表中我都有“创建”列(时间戳)。该字段保存行的插入时间。

但是:

1- 我可以编写一个触发器来填充每个表的列,如下所示:

CREATE TRIGGER `created` BEFORE INSERT ON `some_table`
FOR EACH ROW SET NEW.`created`=NOW()

2- 我可以用 PHP 处理它:

    $result = mysqli_query($con,"INSERT INTO table_name (column1, column2, column3,created)
VALUES (value1, value2, value3,now()) ");

我担心为每个表编写触发器会产生开销。这样对吗?哪个在性能上更具体?哪个更好?

最佳答案

如果您为它配置了 TIMESTAMP 属性,则您不需要自己填写此列... http://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html

为了从此处的文档中澄清,这是一个工作示例,说明在为所需行为正确配置后,后续更新如何不更改时间戳字段

create temporary table example (apID int auto_increment, 
audit timestamp DEFAULT CURRENT_TIMESTAMP,
name varchar(50),
primary key(apID));
insert into example(name) values('test');
select * from example;
update example set name='tes' where apID=1;
select * from example;

关于php - mysql触发器或php代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17040985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com