我创建了一个表,其中存储了一些具有这种结构的多语言商店数据
create table store_locator_store_lang
(
id_store int(11) unsigned not null,
lang_id int not null,
partner varchar(100) null,
address varchar(255) null,
city varchar(100) null,
occupation varchar(100) null,
primary key (id_store, id_lang)
);
id_lang can be 1 or 2
在那里我有一些不完整的数据,这意味着所有行都包含空值,lang_id = 1
但lang_id = 2
许多行包含空值。
我想用来自行的lang_id = 2
数据填充空行lang_id = 1
。
商店实体由 标识,id_store
因此id_store
对于同一商店的两种语言来说是通用的。
即使一行有空列,也总是存储一对。没有机会缺少一行lang_id=2
是否可以通过数据库中的更新查询来完成此任务,还是我必须导出数据、编辑并重新插入?
数据库服务器是 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04
这是一些示例数据的转储
INSERT INTO store_locator_store_lang (id_store, lang_id, partner, address, city, occupation) VALUES (543, 1, 'TEST', 'TEST, Τ.Κ. 52100', 'TEST', 'TEST');
INSERT INTO store_locator_store_lang (id_store, lang_id, partner, address, city, occupation) VALUES (543, 2, '', '', '', '');
一般来说(如果“许多行包含空值”意味着“它们包含 NULL”):