Я хочу автоматически создавать резервные копии базы данных, поэтому у меня есть две базы данных: одна со всеми данными и другая с отношением каждой таблицы -i.e. 20% - на основе столбца.Как автоматически резервировать соотношение таблицы на основе одного столбца?
ответ
Это моя первая попытка.
create table t1 (
id integer primary key,
val integer not null);
create table t2 (
id integer primary key,
val integer not null);
insert into t1 values (1,1000);
insert into t1 values (2,1000);
insert into t1 values (3,1000);
insert into t1 values (4,1000);
insert into t1 values (5,1000);
insert into t1 values (6,1000);
insert into t1 values (7,1000);
insert into t1 values (8,1000);
insert into t1 values (9,1000);
insert into t1 values (10,1000);
insert into t1 values (11,1000);
insert into t2
select id, val
from t1
where (val >= 1000)
and (rownum <= cast((0.2 * (select count(*) from t1)) as integer));
Мой первый ответ: «Неизвестный столбец« rownum »в предложении WHERE» – Mchl
@Mchl: «rownum» - синтаксис Oracle. Я думаю, что синтаксис MySQL использует «LIMIT» в этом конкретном контексте. У меня нет MySQL для тестирования. –
@Mchl: И вам, вероятно, придется использовать что-то вроде 'LIMIT
Пожалуйста, будьте более конкретными. Каково соотношение каждой таблицы? – ThomasMcLeod
Я имею в виду отношение данных в таблице –
Итак, вы хотите, скажем, 20% строк из каждой таблицы? Я могу понять это, хотя я бы отговорил вас от этого. То, о чем я не уверен, - это то, что вы подразумеваете под «на основе столбца». –