Php 仅从表中查找最新更新的值

Php 仅从表中查找最新更新的值,php,mysql,Php,Mysql,嘿,伙计们,我的桌子结构像 CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) ) INSERT INTO CUSTOMERS (ID,NA

嘿,伙计们,我的桌子结构像

 CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2), 
   PRIMARY KEY (ID)
)

INSERT INTO  CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1,'aff',2,3,5)
VALUES (2,'afff',1,31,52)


update CUSTOMERS
set NAME = 'somenewname'
where age = 1;
我只想得到输出为
'somename'

我尝试创建一个列
updatetime
,带有
timestamp
,并使用了如下查询

SELECT * FROM CUSTOMERS ORDER BY updatetime DESC LIMIT 1;
但这张照片展示了整个价值观

我只需要更新的值'somenewname'作为输出

我也尝试过使用
触发器和函数
,但没有效果

请帮助我找到一个解决方案。如果它对我有帮助,我会接受它作为答案。请记住,我希望输出为单个值,如
somenewname

塔克斯

我用过的扳机

CREATE TRIGGER getrandom 
AFTER UPDATE ON CUSTOMERS
FOR EACH ROW
BEGIN
UPDATE CUSTOMERS 
SET NAME = 'anewname'
WHERE ADDRESS = 3;
END;

为什么不尝试仅选择
名称

SELECT name FROM CUSTOMERS ORDER BY updatetime DESC LIMIT 1; //outputs the name
而不是整个结果

SELECT * FROM CUSTOMERS ORDER BY updatetime DESC LIMIT 1;

您的更新语句应该如下所示

update CUSTOMERS
set NAME = 'somenewname',
updatetime = now()
where age = 1;

下面是一个示例,演示如何在表被联接时仅获取
名称

SELECT c.name FROM CUSTOMERS as c INNER JOIN orders as o c.id=o.id  ORDER BY c.updatetime DESC LIMIT 1;

在表中有
updatetime
列的位置?在示例update语句中,一个事务中可能会更新许多行。哪一行应被视为最近更新的行?这里有很多边缘案例。这只是其中一个例子。这个问题的解决方案是触发器,所以请发布你使用的触发器(你说它不起作用),这里的人会帮你解决。18,2?我能找份工作吗?@ShrinathKuppa请帮帮我。我已经按照你说的编辑了我的问题,正如我告诉你的,我只定义了更新后的值,我只需要输出为somenewname。第一条SQL语句应该只输出名称。你从那句话中得到了什么?我告诉过你我已经更新了我的表..在值为somenewname的列名上,我只希望输出为somenewname