使用sql和php将更新查询中的两列移动到另一列
我有一个php代码,它更新ms sql中的一行。如下所示使用sql和php将更新查询中的两列移动到另一列,php,sql,sql-server,Php,Sql,Sql Server,我有一个php代码,它更新ms sql中的一行。如下所示 LONG | LAT |OLD LONG | OLD LAT | PLATENO 121.666 | 35.222 | | | AA-1982 现在,如果我插入另一个长=121.777的数据 并且LAT=35.333,具有相同的车牌号,它不会插入,而是更新上面的记录,使其与此相同 LONG | LAT | OLDLONG | OLDLAT | PLATENO 121.777 | 35.333 |
LONG | LAT |OLD LONG | OLD LAT | PLATENO
121.666 | 35.222 | | | AA-1982
现在,如果我插入另一个长=121.777的数据
并且LAT=35.333,具有相同的车牌号,它不会插入,而是更新上面的记录,使其与此相同
LONG | LAT | OLDLONG | OLDLAT | PLATENO
121.777 | 35.333 | 121.666 | 35.222 | AA-1982
LONG | LAT | OLDLONG | OLDLAT | PLATENO
121.666 | 35.222 | | | AA-1982
121.666 | 35.222 | | | BB-1234
如果你注意到我把lat-long移到OLD-lat和OLD-long
但是,如果我插入另一个没有相同模板的数据,那么它将如下所示
LONG | LAT | OLDLONG | OLDLAT | PLATENO
121.777 | 35.333 | 121.666 | 35.222 | AA-1982
LONG | LAT | OLDLONG | OLDLAT | PLATENO
121.666 | 35.222 | | | AA-1982
121.666 | 35.222 | | | BB-1234
这是我的密码
$sql1 = "UPDATE TblCurrenttemp
SET LAT = '$finlat', oldlat = (SELECT lat FROM TblCurrenttemp AS LAT1 WHERE (plateno = '$pltefin')),
LONG = '$finlong', oldlong = (SELECT long FROM TblCurrenttemp AS LONG1 WHERE (plateno = '$pltefin'))
WHERE (plateno = '$pltefin')";
$res1 = mssql_query($sql1) or print("Error " . mssql_get_last_message());
我是新来php的,如果我在做正确的事情时遇到了一些麻烦,我很抱歉。我还从其他帖子中复制了一些代码,请耐心等待。你能试试吗
$sql1 = "UPDATE TblCurrenttemp
SET oldlat = LAT,
oldlong = LONG,
LAT = '$finlat',
LONG = '$finlong'
WHERE (plateno = '$pltefin')";
$res1 = mssql_query($sql1) or print("Error " . mssql_get_last_message());
预期的结果是什么?