Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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
Mysql 更改表信息_Mysql_Sql - Fatal编程技术网

Mysql 更改表信息

Mysql 更改表信息,mysql,sql,Mysql,Sql,我有三张桌子: 表1:(消费者) 表2:(用户位置) 表3:(地点) 我想把Magika12的地址改为: "124 Braelands Crescent, Albion, Melbourne, 9999" 因此,新表将如下所示: LocationID | StreetNumber | StreetName | Suburb | City | Postal code 13234 124 Braelands Crescent Albion

我有三张桌子:

表1:(消费者)

表2:(用户位置)

表3:(地点)

我想把
Magika12
的地址改为:

"124 Braelands Crescent, Albion, Melbourne, 9999"
因此,新表将如下所示:

LocationID | StreetNumber | StreetName |        Suburb | City |    Postal code
13234        124            Braelands Crescent  Albion   Melbourne 9999
我试过这样的方法:

UPDATE 
    L1
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
FROM Location L1
INNER JOIN ConsumerLocation
WHERE ConsumerLocation.UserName = 'Magika'
UPDATE 
    Location L1
    INNER JOIN ConsumerLocation c on c.LocationID=L1.LocationID -- miseed on
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
WHERE c.UserName = 'Magika'
我知道这是不正确的,但我不知道如何将所有表连接在一起以更新
Magika12
的地址。我已将
用户名
设置为
消费者
的主键,以及
消费者位置
的主键外键。和
LocationId
消费者位置的主键和
消费者位置的主键外键


任何帮助都将不胜感激

您的加入需要符合
条件。。。试试这个

 INNER JOIN ConsumerLocation ON Location.LocationId = ConsumerLocation.LocationId

当您
JOIN
没有任何
ON
条件时,您将获得所加入表中所有可能的行组合。这可能会有很多行。

您的加入需要一个
开启条件。。。试试这个

 INNER JOIN ConsumerLocation ON Location.LocationId = ConsumerLocation.LocationId
UPDATE 
    Location L1 
    JOIN ConsumerLocation CL ON CL.LocationID = L1.LocationID
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
WHERE CL.UserName = 'Magika12';
当您
JOIN
没有任何
ON
条件时,您将获得所加入表中所有可能的行组合。那可能会有很多争吵

UPDATE 
    Location L1 
    JOIN ConsumerLocation CL ON CL.LocationID = L1.LocationID
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
WHERE CL.UserName = 'Magika12';
如果您有多个与同一用户名相关的位置条目,请将LocationId添加到WHERE子句:

WHERE CL.UserName = 'Magika12' AND CL.LocationID = 13234
如果您有多个与同一用户名相关的位置条目,请将LocationId添加到WHERE子句:

WHERE CL.UserName = 'Magika12' AND CL.LocationID = 13234

您错过了
join
语句的条件。应该是这样的:

UPDATE 
    L1
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
FROM Location L1
INNER JOIN ConsumerLocation
WHERE ConsumerLocation.UserName = 'Magika'
UPDATE 
    Location L1
    INNER JOIN ConsumerLocation c on c.LocationID=L1.LocationID -- miseed on
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
WHERE c.UserName = 'Magika'

您错过了
join
语句的条件。应该是这样的:

UPDATE 
    L1
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
FROM Location L1
INNER JOIN ConsumerLocation
WHERE ConsumerLocation.UserName = 'Magika'
UPDATE 
    Location L1
    INNER JOIN ConsumerLocation c on c.LocationID=L1.LocationID -- miseed on
SET 
    L1.StreetNumber = 124,
    L1.StreetName = 'Braelands Crescent',
    L1.Suburb = 'Albion' ,
    L1.City = 'Melbourne',
    L1.Postalcode = 9999
WHERE c.UserName = 'Magika'