Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Php MySQL查询从一个表中获取库存数据,并更新第二个表中的类似数据_Php_Mysql - Fatal编程技术网

Php MySQL查询从一个表中获取库存数据,并更新第二个表中的类似数据

Php MySQL查询从一个表中获取库存数据,并更新第二个表中的类似数据,php,mysql,Php,Mysql,好的,让我们看看我是否能用文字表达。我有两个表,数据相似。它们将作为股票数据供系统的其余部分使用。其中一个表是最近添加的,所述表上的2列数据需要与其他表上的数据匹配,以便我可以尝试进行更快的查询。也就是说。我需要修复的列的数据与我希望的列的数据非常相似。如中所示,我可以使用like从第二个表到第一个表执行select查询,并实际获得我想要的数据,但我不能反向执行 因此,我想知道的是,是否有可能仅仅基于查询进行操作。基本上,我想要运行第二个表,我想要两列数据与第一个表中的数据相匹配。它们是varc

好的,让我们看看我是否能用文字表达。我有两个表,数据相似。它们将作为股票数据供系统的其余部分使用。其中一个表是最近添加的,所述表上的2列数据需要与其他表上的数据匹配,以便我可以尝试进行更快的查询。也就是说。我需要修复的列的数据与我希望的列的数据非常相似。如中所示,我可以使用
like
从第二个表到第一个表执行select查询,并实际获得我想要的数据,但我不能反向执行

因此,我想知道的是,是否有可能仅仅基于查询进行操作。基本上,我想要运行第二个表,我想要两列数据与第一个表中的数据相匹配。它们是varchar列,因为其中的内容只是字符串。但我想在第一张表中以体育为例:

纽约巨人队

新英格兰爱国者

在第二个表中,我有:

爱国者

巨人

当这个查询进行时,我想更新第二列中的行以匹配第一个表中的数据。这可能仅仅是基于查询的,还是我必须拿出某种级别的服务器端逻辑才能实现


在一个表中,我处理的是大约4000行,在另一个表中,我处理的是1001行,不确定这是否有帮助,但值得一提。

使用mysql命令行客户端登录数据库并选择数据库。然后输入如下内容:

mysql> describe config;
它将输出表config的定义。复制并将其添加到您的问题中:

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(11)     | NO   | PRI | NULL    | auto_increment |
| option | varchar(45) | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
为你的两张桌子做这个

然后还可以获得这些表的一些示例数据,如:

mysql> select * from config LIMIT 5;
然后可以再次复制和粘贴:

+----+---------------------------+
| id | option                    |
+----+---------------------------+
|  1 | value for option with ID1 |
|  2 | value for option with ID2 |
+----+---------------------------+

这将使您所询问的内容更加具体,至少是现有数据。然后尝试制定出你想要达到的结果,最好采用类似的布局。

对不起,但是你想做什么?我可以想象,这不仅取决于实际的表结构(您的问题中缺少),还取决于其中的数据(部分在您的问题中给出)。我认为你最好给出一个更具体的例子来说明你想要实现什么,例如,状态以两个表的形式出现,结果以一个表的形式出现。让我们假设我有两个表,一个是一列字符串,即名称,数据库中的所有其他表都使用这些字符串作为基础,以避免用户输入的变化。。另一个表有2列,其中包含第一个表中字符串的部分版本,我想获取这些列并将它们与表中的列相匹配。因此,它们各自都是相同的字符串,因此我可以避免长期运行中类似于基于的查询。我添加了一个答案,说明如何以适合该问题的形式实际获取现有数据。把它视为额外的服务。但是,这不是答案,只是一个冗长的注释。此外,您还希望规范化数据,并将所有“相同的字符串表示相同的”字符串替换为与表相关的实际数字ID,该表仅将这些基本名称连接到一个唯一的数字。然后还可以将长名称同样链接到该表。