php - 与命令相关的 Mysql 表行中的文本搜索和删除/更新(如果存在)

标签 php mysql exists

我的 MySQL 表中有一些列和一些描述,

id / name / descriptions
1  / John / a1b01,Value 1,2,1,60|a1b01,Value2,1,1,50|b203c,Value 1,0,2,20
2  / Sam  / a1b01,Value2,2,3,50|b203c,Value 2,0,0,45
3  / Nick / a1b01,Value 1,2,1,60|a1b01,Value2,1,1,50
...

对于不同的人你可以看到,一些变量是相同的Value 1Value2(可以包含空格)/a1b01b203c 等等,因为描述的数量可能会有所不同,我无法将它们分开。

我需要两个 MySQL 命令;

  • 搜索两个变量(例如:“a1b01”、“Value 1”,这些将从函数中获取)
  • 如果在相关部分找到两个值,则函数将删除/更新记录

我想我应该使用这样的函数

function do_action (command,code,desc,new1,new2,newresult) {
if (command == "delete") {
    // First SQL command to delete the founded part
    // but the ramains part should be kept
    // so final result would be : a1b01,Value2,1,1,50|b203c,Value 1,0,2,20 (for John)
  } elseif (command == "update"){
    // Second SQL command that update the founded part
    // Update founded part
    // so final result would be : a1b01,Value 1,new1,new2,newresult|a1b01,Value2,1,1,50|b203c,Value 1,0,2,20 (for John)
  }
}

但我不知道应该使用哪些 MySQL 命令?
欢迎您提出所有解决方案、建议或改进。

编辑: 使用的语言是 PHP,我通过 Jquery 的 post 方法从 php 页面 (index.php) 发送数据,然后 php 文件 (data.php) 获取这些参数并执行MySQL数据库。
实际上可能除了 PHP 驱动的解决方案之外别无他法,但我只是要求一个 php+MySQL 函数;
函数接受一些参数并搜索如果第二个+第三个参数(code,desc)一起存在于表中的任何描述行中(搜索),然后让函数更新这部分(用新的替换)或删除记录到第一个参数( 命令 -> 删除/更新)

最佳答案

将问题分成几个步骤:

  • 确定如何访问数据库。(您没有说明您使用的是什么语言,而且您似乎还不知道如何访问数据库。)
  • 弄清楚是否有可能雇用更好的人,normalized数据结构。
  • 如果是,您的任务就是小菜一碟。
  • 如果不是,您必须先从要更新的条目中读取 字段,然后使用您的程序语言找到要替换的部分。 (MySQL 中没有正则表达式替换。)
  • 然后不使用 SQL 而是使用您的过程语言来组装一个新的值字符串。
  • 如果你出于某种原因不想这样做(你要求一个 MySQL 命令),你可以使用 REPLACE更新值的函数:UPDATE the_table SET values = REPLACE(values, "a1b01,Value 1,2,1,60", "Value 1,new1,new2,newresult"

关于php - 与命令相关的 Mysql 表行中的文本搜索和删除/更新(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159788/

相关文章:

php - 将具有唯一 ID 的文件名从新文件夹移动到 SQL 数据库

java - 禁用 mySQL RDS 客户端身份验证

python - 改变表 Sqlite : how to check if a column exists before alter the table?

二郎。记录。现有字段

javascript - 从所选值中获取elementbyId

php - 如何将每一行检索为 json 对象

php - 使用 PHP 和 C/C++ 进行 eclipse

Mysql虚拟机远程连接失败

sql - 无效的 SQL 查询

PHP - 使用 __construct() 检查是否有 session