如何在 MySQL 中没有主键的情况下更新 table 中的特定行?
How to update a specific row in a table without a primary key in MySQL?
我正在尝试在 MySQL 数据库 table 中使用更新查询。我在 table 中有自动递增的主键,但我不想在执行此查询时使用此键。这是因为删除记录后此列不会重新开始计数,因此 table 中存在间隙。例如,如果我删除第 25 行然后插入一个新行,则 row/will 的 ID 为 26。所以回到我的问题,我想知道如何编辑一个特定 record/row.我尝试了以下方法:
UPDATE `table_name` SET `first_Name` = "Robert" WHERE (SELECT * FROM `employees` LIMIT 1,1)
这是我尝试仅更新第二行中的 firs_Name。但它不起作用。有一些语法错误。还有其他方法吗?或者我可以解决自动递增列的问题吗(我更喜欢忽略这个的答案)。
提前致谢!
您的用户 Table 看起来像这样:
id | first_name
1 | Robert
2 | Sam
现在你想编辑 SAM,所以他叫 Samuel。
#1
打印用户
Select * From Users
然后构建一个循环以在 table 中回馈用户。然后你就可以用它来做你的动作了。
#2
<?php
if(isset($_GET['userid']))
{
if(isset($_POST['update']))
{
mysql_query("UPDATE Users SET first_name = '".$_POST['first_name']."' where id=".$_GET['userid']." LIMIT 1");
}
else
{
$get_user_sql = "SELECT * FROM Users WHERE id = ".$_GET['userid']." LIMIT 1";
$query_user = mysql_query($get_user_sql);
$user = mysql_fetch_assoc($query_user);
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="text" name="first_name" id="first_name" value="'.$user['first_name'].'" />';
print '<input type="submit" />';
}
}
else
{
$sql = "SELECT * FROM Users";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
print '<a href="?userid='.$row['id'].'">edit user <b>'.$row['first_name'].'</b></a><br />';
}
}
?>
我正在尝试在 MySQL 数据库 table 中使用更新查询。我在 table 中有自动递增的主键,但我不想在执行此查询时使用此键。这是因为删除记录后此列不会重新开始计数,因此 table 中存在间隙。例如,如果我删除第 25 行然后插入一个新行,则 row/will 的 ID 为 26。所以回到我的问题,我想知道如何编辑一个特定 record/row.我尝试了以下方法:
UPDATE `table_name` SET `first_Name` = "Robert" WHERE (SELECT * FROM `employees` LIMIT 1,1)
这是我尝试仅更新第二行中的 firs_Name。但它不起作用。有一些语法错误。还有其他方法吗?或者我可以解决自动递增列的问题吗(我更喜欢忽略这个的答案)。
提前致谢!
您的用户 Table 看起来像这样:
id | first_name
1 | Robert
2 | Sam
现在你想编辑 SAM,所以他叫 Samuel。
#1
打印用户
Select * From Users
然后构建一个循环以在 table 中回馈用户。然后你就可以用它来做你的动作了。
#2
<?php
if(isset($_GET['userid']))
{
if(isset($_POST['update']))
{
mysql_query("UPDATE Users SET first_name = '".$_POST['first_name']."' where id=".$_GET['userid']." LIMIT 1");
}
else
{
$get_user_sql = "SELECT * FROM Users WHERE id = ".$_GET['userid']." LIMIT 1";
$query_user = mysql_query($get_user_sql);
$user = mysql_fetch_assoc($query_user);
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="text" name="first_name" id="first_name" value="'.$user['first_name'].'" />';
print '<input type="submit" />';
}
}
else
{
$sql = "SELECT * FROM Users";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{
print '<a href="?userid='.$row['id'].'">edit user <b>'.$row['first_name'].'</b></a><br />';
}
}
?>