数据库1
Table A
+-----+--------+---------------+
| ID | Price | Date |
+-----+--------+---------------+
| 1 | 100 | 2013.07.07 |
+-----+--------+---------------+
Table B
+------+--------+-------------+-------+
| ID | Name | Description | Stock |
+------+--------+-------------+-------+
| A-ID | Name1 | Good | 100 |
+------+--------+-------------+-------+
从这些到这些
Table C
+------+--------+---------------+--------+
| ID | Name | Description | Date |
+------+--------+---------------+--------+
| A-ID | B-Name | B-Description | A-Date |
+------+--------+---------------+--------+
Table D
+-------+------+-------+----------+
| D_ID | ID | Meta | MetaValue|
+-------+------+-------+----------+
| 1 | A-ID | price | A-Price |
+-------+------+-------+----------+
| 2 | A-ID | stock | B-Stock |
+-------+------+-------+----------+
如何用一个PhP代码从A和B填充C和D表? xS
在表A和表B中,我有15.000〜行
对于C需要为每一项制作1行
对于D,需要为每个项目的30行制作不同的值(在表A和表B中)
我以这种方式填写“表C”
INSERT INTO DB1.C (Name, Description)
SELECT b.Products_Name, b.Description
FROM DB1.B AS b
和
UPDATE DB1.C c, DB1.A a
SET c.Date=a.Date
WHERE c.ID=a.ID'
最佳答案
填充表C:
INSERT INTO C (ID, Name, Description, Date)
SELECT A.ID, B.Name, B.Description, A.Date
FROM A INNER JOIN B ON A.ID = B.ID;
填充表D为两个语句:
INSERT INTO D (ID, Meta, MetaValue) /*assuming here, that D_ID is auto_increment...*/
SELECT A.ID, 'price', Price
FROM A
UNION ALL
SELECT A.ID, 'stock', B.Stock
FROM A INNER JOIN B ON A.ID = B.ID;
关于php - SQL从表插入表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17833509/