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”