Php 在sql中使用查询重置表

Php 在sql中使用查询重置表,php,mysql,sql,Php,Mysql,Sql,这里可以显示更新后重置表的任何重置查询。 我更新了一个列,然后我想重置它 id name 1 azeem 2 arfan 更新表 update table set name = 'abc' where id = 1; update table set name = 'xyz' where id = 2; id name 1 abc 2 xyz 更新: $sql = mysql_query("select

这里可以显示更新后重置表的任何重置查询。
我更新了一个列,然后我想重置它

 id      name
 1       azeem
 2       arfan
更新表

  update table set name = 'abc' where id = 1;
  update table set name = 'xyz' where id = 2;

id      name
1       abc
2       xyz
更新:

  $sql = mysql_query("select * from table");
   while($row = mysql_fetch_array($sql)){
      echo $row['name'];
   }
之后,我想重置它。我该怎么做呢?有两种方法

如果您正在运行一个测试服务器,并且希望恢复您正在更改的所有信息,那么您可以在
更新后创建一个新的表和表值

否则,如果您是在事务级别讨论,您可以做出一个选择

2种方式

如果您正在运行一个测试服务器,并且希望恢复您正在更改的所有信息,那么您可以在
更新后创建一个新的表和表值

否则,如果您是在事务级别讨论,您可以做出一个选择

2种方式

如果您正在运行一个测试服务器,并且希望恢复您正在更改的所有信息,那么您可以在
更新后创建一个新的表和表值

否则,如果您是在事务级别讨论,您可以做出一个选择

2种方式

如果您正在运行一个测试服务器,并且希望恢复您正在更改的所有信息,那么您可以在
更新后创建一个新的表和表值

否则,如果您是在事务级别讨论,您可以做出一个选择


是的,正如斯盖德斯所说,您可以使用事务。使用未提交的
事务
时,可以
回滚到执行查询前的状态

试试这个:

//启动事务
mysql_查询(“启动事务”);
//更新查询
$yourUpdateQuery=mysql\u查询(“更新您的\u TBL集合列='COLUMN\u VALUE',其中COLUMN\u ID=ID\u VALUE”);
//一些SQL select查询(请注意,这对您的数据没有影响,因此不需要在您的事务中)
$sql=mysql_查询(“从表中选择*);
while($row=mysql\u fetch\u数组($sql))
{
echo$row['name'];
}
//这里有支票吗
如果(1==1){
//好的,让我们完成它
mysql_查询(“提交”);
}否则{
//不正常,回滚到事务开始前的状态。
mysql_查询(“回滚”);
} 
注意您和上面的示例使用的是不推荐使用的
mysql\u*
函数。您应该使用
PDO
而不是
mysql\u*
。 以下是一个PDO示例:

<?php

    //PDO Database connection (if you haven't done this)
    $db = new PDO('mysql:host=localhost;dbname=DATABASE_NAME', "USERNAME", "PASSWORD");

    //Start the transaction
    $db->beginTransaction();

    //An update query
    $db = $db->exec("UPDATE YOUR_TBL SET COLUMN = 'COLUMN_VALUE' WHERE COLUMN_ID = ID_VALUE");

    //Some SQL select queries (note, that this do not have effect on your data, so this don't need to be in your transaction
    $sql = 'select * from table';
    foreach($db->query($sql) as $row)
    {
        echo $row['name'];
    }

    //Some check here
    if (1==1) {
        //Ok, let's finish it
        $db->commit();
    } else {        
        //Not ok, rollback to the state before the transaction started.
        $db->rollBack();
    }   



?>

是的,正如sgeddes所说,您可以使用事务。当您使用未提交的
事务时,您可以
回滚到执行查询之前的状态

试试这个:

//启动事务
mysql_查询(“启动事务”);
//更新查询
$yourUpdateQuery=mysql\u查询(“更新您的\u TBL集合列='COLUMN\u VALUE',其中COLUMN\u ID=ID\u VALUE”);
//一些SQL select查询(请注意,这对您的数据没有影响,因此不需要在您的事务中)
$sql=mysql_查询(“从表中选择*);
while($row=mysql\u fetch\u数组($sql))
{
echo$row['name'];
}
//这里有支票吗
如果(1==1){
//好的,让我们完成它
mysql_查询(“提交”);
}否则{
//不正常,回滚到事务开始前的状态。
mysql_查询(“回滚”);
} 
注意您和上面的示例使用的是不推荐使用的
mysql\u*
函数。您应该使用
PDO
而不是
mysql\u*
。 以下是一个PDO示例:

<?php

    //PDO Database connection (if you haven't done this)
    $db = new PDO('mysql:host=localhost;dbname=DATABASE_NAME', "USERNAME", "PASSWORD");

    //Start the transaction
    $db->beginTransaction();

    //An update query
    $db = $db->exec("UPDATE YOUR_TBL SET COLUMN = 'COLUMN_VALUE' WHERE COLUMN_ID = ID_VALUE");

    //Some SQL select queries (note, that this do not have effect on your data, so this don't need to be in your transaction
    $sql = 'select * from table';
    foreach($db->query($sql) as $row)
    {
        echo $row['name'];
    }

    //Some check here
    if (1==1) {
        //Ok, let's finish it
        $db->commit();
    } else {        
        //Not ok, rollback to the state before the transaction started.
        $db->rollBack();
    }   



?>

是的,正如sgeddes所说,您可以使用事务。当您使用未提交的
事务时,您可以
回滚到执行查询之前的状态

试试这个:

//启动事务
mysql_查询(“启动事务”);
//更新查询
$yourUpdateQuery=mysql\u查询(“更新您的\u TBL集合列='COLUMN\u VALUE',其中COLUMN\u ID=ID\u VALUE”);
//一些SQL select查询(请注意,这对您的数据没有影响,因此不需要在您的事务中)
$sql=mysql_查询(“从表中选择*);
while($row=mysql\u fetch\u数组($sql))
{
echo$row['name'];
}
//这里有支票吗
如果(1==1){
//好的,让我们完成它
mysql_查询(“提交”);
}否则{
//不正常,回滚到事务开始前的状态。
mysql_查询(“回滚”);
} 
注意您和上面的示例使用的是不推荐使用的
mysql\u*
函数。您应该使用
PDO
而不是
mysql\u*
。 以下是一个PDO示例:

<?php

    //PDO Database connection (if you haven't done this)
    $db = new PDO('mysql:host=localhost;dbname=DATABASE_NAME', "USERNAME", "PASSWORD");

    //Start the transaction
    $db->beginTransaction();

    //An update query
    $db = $db->exec("UPDATE YOUR_TBL SET COLUMN = 'COLUMN_VALUE' WHERE COLUMN_ID = ID_VALUE");

    //Some SQL select queries (note, that this do not have effect on your data, so this don't need to be in your transaction
    $sql = 'select * from table';
    foreach($db->query($sql) as $row)
    {
        echo $row['name'];
    }

    //Some check here
    if (1==1) {
        //Ok, let's finish it
        $db->commit();
    } else {        
        //Not ok, rollback to the state before the transaction started.
        $db->rollBack();
    }   



?>

是的,正如sgeddes所说,您可以使用事务。当您使用未提交的
事务时,您可以
回滚到执行查询之前的状态

试试这个:

//启动事务
mysql_查询(“启动事务”);
//更新查询
$yourUpdateQuery=mysql\u查询(“更新您的\u TBL集合列='COLUMN\u VALUE',其中COLUMN\u ID=ID\u VALUE”);
//一些SQL select查询(请注意,这对您的数据没有影响,因此不需要在您的事务中)
$sql=mysql_查询(“从表中选择*);
while($row=mysql\u fetch\u数组($sql))
{
echo$row['name'];
}
//这里有支票吗
如果(1==1){
//好的,让我们完成它
mysql_查询(“提交”);
}否则{
//不正常,回滚到事务开始前的状态。
mysql_查询(“回滚”);
} 
注意您和上面的示例使用的是不推荐使用的
mysql\u*
函数。您应该使用
PDO
而不是
mysql\u*
。 以下是一个PDO示例:

<?php

    //PDO Database connection (if you haven't done this)
    $db = new PDO('mysql:host=localhost;dbname=DATABASE_NAME', "USERNAME", "PASSWORD");

    //Start the transaction
    $db->beginTransaction();

    //An update query
    $db = $db->exec("UPDATE YOUR_TBL SET COLUMN = 'COLUMN_VALUE' WHERE COLUMN_ID = ID_VALUE");

    //Some SQL select queries (note, that this do not have effect on your data, so this don't need to be in your transaction
    $sql = 'select * from table';
    foreach($db->query($sql) as $row)
    {
        echo $row['name'];
    }

    //Some check here
    if (1==1) {
        //Ok, let's finish it
        $db->commit();
    } else {        
        //Not ok, rollback to the state before the transaction started.
        $db->rollBack();
    }   



?>

重置是什么意思?清除“名称”@mihai reset意味着返回其原始值。您试图完成什么?如果需要撤消
更新
,则需要将其包装在
事务
,然后您可以使用
回滚
来撤消它。重置是什么意思?清除“na”