我刚开始使用MySQL查询,所以请耐心等待。我在数据库连接的客户端(iPhone应用程序)获得了一个对象数组,并且我正在尝试实现一个delete按钮,让用户可以选择删除数组中的某个对象。
我希望得到一个返回的整数,它表示被删除的对象的索引,现在我正在创建一个PHP脚本来获取该索引,并使用它来删除MySQL表中匹配的行。
如何指定要删除的特定行号?例如,如果我的数组中的第四个对象被删除,我会得到一个索引3返回给我。有没有办法使用这个索引来指定删除MySQL数据库中的第四行?
我从"MySQLTable“中获得了DELETE的完整语法...但是在WHERE之后,它变得有点混乱,因为在我看来,你总是必须指定一个条件,而不是只传递一些你想要删除的行。这一点我说错了吗?MySQL表中的行有索引吗?我想他们是这样的。关于如何通过传递一个值(最好是索引)来删除数据库中的特定行的一些技巧将是非常有用的。
发布于 2016-09-11 01:22:19
要小心,因为数组是零索引的(数组第一项将是0),而数据库表通常不是(表第一项将是1),因此这意味着数组的第四项是3,而数据库表的第四项将是4。
但是,一旦您有了要删除的行的id,则必须通过添加该数字来扩展查询,例如:
DELETE FROM "MySQLTable" WHERE rowIndex = 'numberToDelete'您需要根据您的代码适当地更改rowIndex和numberToDelete。
通常,数据库表中的行将具有索引,但索引必须在表中手动定义,因为它不会自动添加。
-附加信息
您需要在数据库表中包含数组中的索引的列(在本例中为rowIndex),假设所有值都是唯一的,则将其作为主键可能是有意义的。
然后,可以在sql查询中使用整数值来删除行,例如:
$sql = "DELETE FROM MySQLTable WHERE rowIndex = '" . $numberToDelete . "'";https://stackoverflow.com/questions/39428407
复制相似问题