Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 计算删除后的行顺序_Javascript_Mysql_Sql_Sql Update_Sql Delete - Fatal编程技术网

Javascript 计算删除后的行顺序

Javascript 计算删除后的行顺序,javascript,mysql,sql,sql-update,sql-delete,Javascript,Mysql,Sql,Sql Update,Sql Delete,我正在使用phonegap制作ios和android应用程序。 我正在使用WebSql,我面临这个问题: 我想在删除任何行时重新设置名为“position”的列的值。 例如: 基本表是: ╔═════╦══════════╗ ║ ID ║ POSITION ║ ╠═════╬══════════╣ ║ 23 ║ 0 ║ ║ 32 ║ 1 ║ ║ 143 ║ 2 ║ ║ 13 ║ 3 ║ ╚═════╩══════════╝ 例如,

我正在使用phonegap制作ios和android应用程序。 我正在使用WebSql,我面临这个问题: 我想在删除任何行时重新设置名为“position”的列的值。 例如: 基本表是:

╔═════╦══════════╗
║ ID  ║ POSITION ║
╠═════╬══════════╣
║  23 ║        0 ║
║  32 ║        1 ║
║ 143 ║        2 ║
║  13 ║        3 ║
╚═════╩══════════╝
例如,如果要删除位置为1的行,则下的行的位置会自动减少一个,如下所示:

╔═════╦══════════╗
║ ID  ║ POSITION ║
╠═════╬══════════╣
║  23 ║        0 ║
║ 143 ║        1 ║
║  13 ║        2 ║
╚═════╩══════════╝
我的问题是:有没有办法在删除行后直接在MySql中执行此操作? 或者我需要在javascript中这样做,比如: -删除我的行 -查询所有表 -在他们身上打圈以改变他们的位置 -更新行


谢谢你的帮助

执行delete语句后,运行此update语句以修改
位置的值

UPDATE  tableName a
        INNER JOIN
        (
            SELECT  a.id, @rn := @rn + 1 New_position
            FROM    tableName a, (SELECT @rn := 0) b
            ORDER   BY a.Position
        ) b ON  a.ID = b.ID
SET     a.Position = b.New_Position
这是执行语句后的输出

╔═════╦══════════╗
║ ID  ║ POSITION ║
╠═════╬══════════╣
║  23 ║        1 ║
║ 143 ║        2 ║
║  13 ║        3 ║
╚═════╩══════════╝

最后,在我的案例中,使用localStorage比WebSql更简单、更好。

非常感谢,我将尝试一下!“a”或“b”变量(指tableName)似乎不起作用。当我执行这个简单的delete语句时,我还有一个错误:delete FROM favorites a,其中a.id=72104;您的
DELETE
语句有语法错误,因为您在表上指定了一个别名,但没有使用它。应该是
从a.id=72104的收藏夹a中删除a
您看过这个演示吗?我想知道你为什么说它不起作用。是的,我看过演示,但当我在Phonegap应用程序上使用它时,它不起作用。即使使用别名进行正确的删除也不起作用。我有一个“未定义”的错误代码:/