Tablo A'yı tablo B'den güncellemeye çalışıyorum. gibi bir şey yapabileceğimi düşündüm:İki tablo ile güncelleyin?
UPDATE A
SET A.name = B.name
WHERE A.id = B.id
ama alas, bu işe yaramıyor.
Bunu nasıl yapabileceğimi bilen var mı?
Tablo A'yı tablo B'den güncellemeye çalışıyorum. gibi bir şey yapabileceğimi düşündüm:İki tablo ile güncelleyin?
UPDATE A
SET A.name = B.name
WHERE A.id = B.id
ama alas, bu işe yaramıyor.
Bunu nasıl yapabileceğimi bilen var mı?
Sorgunuz, A/B ile hizaladığınız tabloları belirten FROM numaralı tümceye sahip olmadığınız için çalışmaz. (! Gülme)
UPDATE A
SET A.NAME = B.NAME
FROM TableNameA A, TableNameB B
WHERE A.ID = B.ID
Şahsen ben daha açık Microsoft Access
UPDATE A
SET A.NAME = B.NAME
FROM TableNameA A
INNER JOIN TableName B ON
A.ID = B.ID
yani netlik için sözdizimi katılmak kullanmayı tercih ...
:aşağıdaki kullanmayı deneyin
UPDATE TableA A
INNER JOIN TableB B
ON A.ID = B.ID
SET A.Name = B.Name
Seçilen cevap MariaDB'de benim için çalışmadı. Bu yaptı. Teşekkürler ! –
Başım ağrıyordu, John Sansom'un Join sözdizimi çalışmasını elde edemiyorum, en azından MySQL 5.5.30 InnoDB
.
Bunun işe yaramadığı anlaşılıyor.
UPDATE A
SET A.x = 1
FROM A INNER JOIN B
ON A.name = B.name
WHERE A.x <> B.x
Ama bu çalışır: SET yan tümcesinde için takma adına sahip olmadığını
UPDATE A INNER JOIN B
ON A.name = B.name
SET A.x = 1
WHERE A.x <> B.x
Yukarıdaki SQL Server, MySQL değil mi? – christiandev
Bilmiyorum. SQL'inizin lezzetine bağlı olabilir, ama inanıyorum ki, "A" yı güncellemenize izin verildiği için verilmiş. –