更新多个表中的记录

时间:2014-11-27 02:41:14

标签: php mysql

我这里有4张桌子。 Table1是我的主表,如果我更新table1中的记录,那么具有相同记录的所有其他表也应该更新。但是如果某些记录不在其他表中呢。就像我下面的表结构一样,Ballpen不在表3中。我应该使用LEFT JOIN吗?有什么帮助吗?

表1

|--------------|--------------|
|  Description |     Code     |
|--------------|--------------|
|    Ballpen   |    X2300B    |
|--------------|--------------|
|    Pencil    |    C9990C    |
|--------------|--------------|

表2

|--------------|--------------|
|  Description |     Code     |
|--------------|--------------|
|    Ballpen   |    X2300B    |
|--------------|--------------|

表3

|--------------|--------------|
|  Description |     Code     |
|--------------|--------------|
|    Pencil    |    C9990C    |
|--------------|--------------|

表4

|--------------|--------------|
|  Description |     Code     |
|--------------|--------------|
|    Ballpen   |    X2300B    |
|--------------|--------------|
|    Pencil    |    C9990C    |
|--------------|--------------|


$sql = $mysqli->query("
UPDATE  
        table1 t1
INNER JOIN
        table2 t2
ON      t2.code= t1.code
INNER JOIN
        table3 t3
ON      t3.code= t1.code
INNER JOIN
        table4 t4
ON      t4.code= t1.code
SET     t2.code = '$new_value'
")or die('There was an error running the query [' . $mysqli->error . ']');

0 个答案:

没有答案