好.我正在对表中的单行进行更新.除主键外,所有字段都将被新数据覆盖.但是,并非所有值都会更改更新的b/c.例如,如果我的表格如下:
TABLE (id int ident, foo varchar(50), bar varchar(50))
Run Code Online (Sandbox Code Playgroud)
初始值是:
id foo bar
-----------------
1 hi there
Run Code Online (Sandbox Code Playgroud)
然后我执行 UPDATE tbl SET foo = 'hi', bar = 'something else' WHERE id = 1
我想知道的是哪个列的值已更改,其原始值是什么以及它的新值是什么.
在上面的例子中,我希望看到列"bar"从"there"更改为"something else".
可以不进行逐列比较吗?是否有一些优雅的SQL语句,如EXCEPT,将比行更细粒度?
谢谢.
这里发生了一些奇怪的事情.
我有一个基本形式:
<% using (Html.BeginForm())
{ %>
<%: Html.LabelFor(model => model.user.email) %>
<%: Html.TextBoxFor(model => model.user.email) %>
<%: Html.ValidationMessageFor(model => model.user.email) %>
<br />
<%: Html.LabelFor(model => model.user.password) %>
<%: Html.PasswordFor(model => model.user.password) %>
<%: Html.ValidationMessageFor(model => model.user.password) %>
<br />
<%: Html.LabelFor(model => model.user.confirmPassword) %>
<%: Html.PasswordFor(model => model.user.confirmPassword) %>
<%: Html.ValidationMessageFor(model => model.user.confirmPassword) %>
<br />
<input type="submit" value="Submit" />
<% } %>
Run Code Online (Sandbox Code Playgroud)
头部有以下几点:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<link rel="Stylesheet" type="text/css" href="/Content/Site.css" />
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> …Run Code Online (Sandbox Code Playgroud)