我有一个名为的列list
,按我的顺序使用(在 MYSQL 查询中),列表中是数字:(例如 1 到 20)
然后,该列表由list
ASC 使用 MYSQL 顺序输出 - 但是,当我使用 Jquery 拖放 UI 列表在后端更新我的列表时,它应该更新列表前端。
我的问题是我的列表顺序有时会与其他行冲突,因为列表中可能有两到三行值为 1,因此当我的订单更新时,我想知道如何仅当行更新其他行时 +1是 >= 给定的订单号
我不想使列成为主要列,因为我的目标不是使list
列唯一,原因是因为有多个类别 - 在每个类别中它们都从 1 开始 - 因此,如果我让它独一无二会导致错误,因为在不同的类别中有多个 1。
我问了一位朋友,他说我可能可以使用触发器函数尝试 PL/SQL,但这对我来说是新的领域——我不完全理解那种语言,想知道是否有人可以帮助我做我正在尝试使用 MYSQL 或甚至是 PL/SQL。
这是我到目前为止所拥有的:
<?php
$project = mysql_real_escape_string(stripslashes($_POST['pid']));
$category = mysql_real_escape_string(stripslashes($_POST['cat']));
$order = mysql_real_escape_string(stripslashes($_POST['order']));
// need to do update the moved result (list row) and update all conflicting rows by 1
mysql_query("UPDATE `projects` SET `cat`='$category',`list`='$order' WHERE `id`='$project'")or die(mysql_query());
?>
结论:
我正在尝试更新一个非唯一列以具有该单个类别的唯一值。我不确定如何通过 +1 更新该类别中的所有行