Javascript 计算删除后的行顺序
我正在使用phonegap制作ios和android应用程序。 我正在使用WebSql,我面临这个问题: 我想在删除任何行时重新设置名为“position”的列的值。 例如: 基本表是: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 ║ ╚═════╩══════════╝ 例如,
╔═════╦══════════╗
║ 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应用程序上使用它时,它不起作用。即使使用别名进行正确的删除也不起作用。我有一个“未定义”的错误代码:/