这是这个PHP mysql LEFT JOIN 输出的继续故事
我现在已经对第二个数据库(Cu.data)进行了修改,数据库表是这样的:
mysql> desc ins.data;
+-------------------+------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+------------------+------+-----+---------------------+----------------+
| ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
| Date | timestamp | NO | | 0000-00-00 00:00:00 | |
| Number | text | NO | | NULL | |
| Text | text | NO | | NULL | |
| Email | text | NO | | NULL | |
| TargetID | varchar(20) | NO | | NULL | |
| CSW | text | NO | | NULL | |
| TSW | text | NO | | NULL | |
| Key | text | NO | | NULL | |
| CType | text | NO | | NULL | |
+-------------------+------------------+------+-----+---------------------+----------------+
10 rows in set (0.00 sec)
mysql> desc Cu.data;
+----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+-------+
| Title | decimal(15,0) | NO | | NULL | |
| Cu | varchar(45) | NO | | NULL | |
| Co | varchar(25) | NO | | NULL | |
| Ci | varchar(25) | NO | | NULL | |
| SID | int(12) | NO | | NULL | |
| TargetID | varchar(20) | NO | MUL | NULL | |
| SType | varchar(12) | NO | | NULL | |
+----------+---------------+------+-----+---------+-------+
7 rows in set (0.00 sec)
我的查询是这样的:
mysql> SELECT ins.data.Date, ins.data.Number,
ins.data.Email, ins.data.TargetD, ins.data.CSW,
ins.data.TSW, ins.data.CType, Cu.data.Cu,
Cu.data.SID, Cu.data.Co,
Cu.data.Ci, Cu.data.SType
FROM ins.data
LEFT JOIN
Cu.data ON (ins.data.TargetID = Cu.data.TargetID);
并且输出显示来自 ins.data(第一个数据库)的所有需要的值,但来自 Cu.data 的所有值都是“NULL”
TargetID 是数据库之间的“链接”。IE。使用 TargetID,我可以在数据库之间映射数据。
当人们将数据插入其中时,ins.data 上的数据会缓慢增加。Cu.data 是静态的,可能每年更新一次。
因为我从来没有让 PHP 工作过,所以我决定利用我的 bash 编程技能。通过 cron 脚本发送电子邮件,其中包含从数据库中获取的数据。脚本运行良好,但缺少一些数据。
现在是问题;为什么我的 SQL 子句仅从 ins.data 输出数据!?