Mysql 更改表信息
我有三张桌子: 表1:(消费者) 表2:(用户位置) 表3:(地点) 我想把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
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'