Size: a a a

2021 August 31

DE

Denis Efremov in MySQL
А так не пробовал?
SELECT
 title,
 author,
 amount,
 (MAX(amount) - amount) AS Заказ
FROM book
WHERE amount <> MAX(amount)
источник

DE

Denis Efremov in MySQL
@q
источник

A

Alexander in MySQL
не похоже... там не подставлены значения переменных....
источник

A

Alexander in MySQL
а, нет, наврал, всё ок, спасибо
источник

IS

Ivan Saitarly in MySQL
источник

A

Alexander in MySQL
ALTER TABLE log REORGANIZE PARTITION p_future INTO ( 
 PARTITION p202210 VALUES LESS THAN (TO_DAYS(FROM_UNIXTIME(1667250000))),
 PARTITION p202211 VALUES LESS THAN (TO_DAYS(FROM_UNIXTIME(1669842000))),
 PARTITION p_future VALUES LESS THAN (MAXVALUE)
)

похоже ругается :
ERROR 1564 (HY000): This partition function is not allowed, в чём может быть причина?
источник

S

Syntax Highlight Bot in MySQL
источник

DE

Denis Efremov in MySQL
Функция разделения недопустима
источник

A

Alexander in MySQL
не совсем понимаю....
источник

A

Alexander in MySQL
о какой функции идёт речь?
источник

DE

Denis Efremov in MySQL
Без понятия
источник

A

Alexander in MySQL
переделываю create_new_partitions из https://mariadb.com/resources/blog/automatic-partition-maintenance-in-mariadb/ так чтоб она работала с партицированием по колонке типа datetime, изменил         SET @q = 'SELECT CONCAT(@query, ''PARTITION '', @partition_name, '' VALUES LESS THAN ('', @partition_ts, '')'') INTO @query'; на         SET @q = 'SELECT CONCAT(@query, ''PARTITION '', @partition_name, '' VALUES LESS THAN (TO_DAYS(FROM_UNIXTIME('', @partition_ts, '')))'') INTO @query';
источник

IZ

Ilia Zviagin in MySQL
Че там интересного?
источник

IZ

Ilia Zviagin in MySQL
Все ок, те и надо
источник

IZ

Ilia Zviagin in MySQL
Это неверно
источник

IZ

Ilia Zviagin in MySQL
Причина написана в тексте ошибки
источник

IZ

Ilia Zviagin in MySQL
Там их у тебя только две
To_days и from Unix timestamp
источник

A

Alexander in MySQL
Я понимаю, но почему я смог создать таблицу с партициями, а проальтерить её не могу?:
CREATE TABLE log (
 LOG_ID bigint(20) NOT NULL AUTO_INCREMENT,
 DATETIME datetime(6) DEFAULT NULL,
 KEY DATETIME (DATETIME),
 KEY LOG_ID (LOG_ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 PARTITION BY RANGE (TO_DAYS(DATETIME)) (
 PARTITION p_first VALUES LESS THAN (TO_DAYS('2021-08-01 00:00:00') ),
 PARTITION p202108 VALUES LESS THAN (TO_DAYS('2021-09-01 00:00:00') ),
 PARTITION p202109 VALUES LESS THAN (TO_DAYS('2021-10-01 00:00:00') ),
 PARTITION p_future VALUES LESS THAN (MAXVALUE)
);
источник

S

Syntax Highlight Bot in MySQL
источник

A

Alex in MySQL
Всем привет. Может у кого то есть хорошая sql шпаргалка в ворде или pdf. Поделитесь пожалуйста
источник