如何使用觸發器更新表中的單個行或列。我正在使用這個查詢。 SET NEW.Updated_As = CURRENT_TIMESTAMP如何使用觸發器更新表格中的單個行或列
但它會更新該行的所有值。好心幫
如何使用觸發器更新表中的單個行或列。我正在使用這個查詢。 SET NEW.Updated_As = CURRENT_TIMESTAMP如何使用觸發器更新表格中的單個行或列
但它會更新該行的所有值。好心幫
如果你想更新整個列,那麼你可能不需要where子句。如果要編輯列的某一行/某些特定行,則需要使用WHERE子句的附加條件。 –
我不確定你需要什麼,但如果你只是想用current_timestamp更新時間列,你不需要觸發器!您可以只用「上更新CURRENT_TIMESTAMP」爲您所需字段在表definition.like此設置做到這一點:
create table test(
.
Updated_As timestamp default current_timestamp on update current_timestamp,
.
.
);
我希望下面的語法會幫助你,
DELIMITER $$
USE `database_name`$$
DROP TRIGGER /*!50032 IF EXISTS */ `trigger_name`$$
CREATE
/*!50017 DEFINER = 'new'@'localhost' */
TRIGGER `trigger_name` AFTER UPDATE ON `updated_table_name`
FOR EACH ROW BEGIN
INSERT INTO new_table_name
SET ACTION='update',
changedon=NOW();
END;
$$
DELIMITER ;
在上面代碼「Action」和「changedon」是「new_table_name」的列。它的寫法是幫助用戶更新「updated_table_name」中所做的更改。
你想更新哪一行?你的問題很不明確。嘗試添加示例數據,所需結果以及您當前擁有的代碼。 –