我有一个前端PHP应用程序,它将数据保存在MySQL数据库中。 updated_by
值会发生变化,因为它将是更新记录的用户
我想在我们为任何其他列(updated_by
,sname
)插入新值时更新scol2
列,并插入或更新记录。
欢迎任何帮助,非常感谢:)
表格信息:
test
sname
和scol2
sname
,scol2
,updated_at
,updated_by
MySQL 5.6信息:
INSERT INTO.. ON DUPLICATE KEY UPDATE:
“如果将行作为新行插入,则返回1;如果更新现有行,则返回2 ...”
示例:用户将更新或插入记录
INSERT INTO test(sname) VALUES("name1") ON DUPLICATE KEY UPDATE sname="name1", scol2="col2";
结果:上述查询不会更新任何内容。完善。
INSERT INTO test(sname) VALUES("name1") ON DUPLICATE KEY UPDATE sname="name1", scol2="col22";
结果:上述查询将更新列: scol2
和 updated_at
。完美。
如何在一个查询中自动更新updated_by列?
INSERT INTO test(sname) VALUES("test1") ON DUPLICATE KEY UPDATE sname="name1", scol2="col2", updated_by="phpuser2222";
这不起作用,每当列 updated_by
和 updated_at
时,它都会更新
有两个查询的可能解决方案:
INSERT ... ON DUPLICATE KEY UPDATE...
updated_by
:INSERT INTO test(updated_by) VALUES("phpuser2222");