php - 多个数据库用户同时更新

标签 php mysql sql database mysqli

我很好奇我应该采取什么途径来完成以下任务。我希望一个位置的多台计算机能够使用 Web 浏览器查看和更改 mysql 数据库中的数据。我在这方面没有广泛的知识,但据我所知,如果不是不可能的话,这也是非常困难的。

示例:假设我有 John 的记录,我希望 2 台计算机能够编辑 John 的记录。请注意,计算机不会编辑 Johns 记录的同一部分。假设一个记录正在将状态从需要调用更改为已调用,而另一台计算机正在将状态从需要订购更改为已订购。

我想要一个可以本地处理这个问题的解决方案。

我目前的知识是使用 PHP 和 SQL 构建网络界面。我想使用这些语言,因为我有一些先验知识。

所以我的问题是:这可能吗?如果,那么它究竟是如何工作的(信息流)?

最佳答案

您可以通过多种方式完成此操作。已经有一些很棒的 PHP 数据库编辑软件包 (phpMyAdmin)。

要在代码中处理此问题,尽管您可以使用事务(取决于您使用的 SQL 的风格,这将以不同的方式完成)

确保人们的数据不会相互冲突的一种更简单的方法是在语句中添加额外的 where 子句。

假设您有一个用户记录,您想要将姓氏从 Smith 更新为 Bill,并且用户 ID 是 4。

而不是写

   UPDATE users SET lastName='Bill' WHERE id='4'

你会加入:

   UPDATE users SET lastName='Bill' WHERE id='4' AND lastName='Smith'

这样,如果其他人在您处理姓氏字段时更新了它,您的查询将失败,您将不得不重新输入数据,从而伪造交易

关于php - 多个数据库用户同时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24616998/

相关文章:

php - 如何根据最多 17 个不同的变量查询表?

mysql - 返回多列的自定义函数

sql - 在 sql 中按月份和年份排序并求和

mysql - '+' 附近的 SQL 语法不正确

php - 如果数据库出现故障,如何保留动态创建的输入字段值?

mysql - 为什么更新忽略sql查询对复制有影响?

php读取mysql位域返回奇怪的字符

php - 在没有 group_concat 的情况下连接 symfony/doctrine/mysql 中的行

php - 更新数据库 SQLSTATE[HY093] : Invalid parameter number: number of bound variables does not match number of tokens

php - 从 Array PHP 插入表