@mysql_ru

Страница 33 из 142
Alexey
27.06.2017
06:22:58
а сервер был перезапущен после добавления log_bin в конфигурацию? в error log что-нибудь есть?

Gonchik
27.06.2017
06:25:40
Show binary log; binary log ERROR 1381 (HY000): You are not using binary logging

Но в параметрах нет

Google
Gonchik
27.06.2017
06:26:53
Поэтому я как раз сделал копию для дальнейшего понимания, но там он работает

Alexey
27.06.2017
06:27:47
это всё значит, что log_bin не включён. либо сервер не был перезапущен, либо он читает не тот конфиг. у меня нет под рукой 5.6.36, но я других вариантов не вижу

если log_bin был включён при старте, в error log должна быть запись вида Version: 5.6.36-log ... (именно с log после версии)

Gonchik
27.06.2017
06:31:01
На копии есть такое, а вот на основной нет.

Оба рестартовал.

Alexey
27.06.2017
06:39:31
ну если в логах при старте никаких предупреждений, значит вариант только один — в конфиге нет log_bin, или mysqld читает не тот конфиг. я бы в эту сторону разбирался

Gonchik
27.06.2017
06:49:52
Спасибо, пошёл смотреть

Ринат
27.06.2017
08:28:19
а можно substring_index вложить в substring_index
замутил я) в итоге вложенный запрос + дистинкт+ order

из 300 млн записей то что было в user_agent уникального-670 тысяч записей (включая мусор который в user_agent писался)

Bocharnikov
27.06.2017
08:29:17
http://sqlinfo.ru/forum/viewtopic.php?id=8159

Again
27.06.2017
15:42:01
что это может быть за ошибка?

последнее поле

lvl

Google
Again
27.06.2017
15:42:51


пишу это в консоли

и он выдает вот это



Dmitriy
27.06.2017
15:43:17
Is null

Again
27.06.2017
15:43:21


Ринат
27.06.2017
15:43:22
не =

писать надо

а is null или is not null

Again
27.06.2017
15:43:48
lvl is null

?

вот так

Ринат
27.06.2017
15:43:51
SELECT * FROM bd WHERE lvl IS NULL

Again
27.06.2017
15:43:56
а

окей

Спасибо большое х)

Подскажите

а как вот это сделать



Мне дополнительную таблицу создавать?

Google
Again
27.06.2017
17:15:35
или что

не могу разобраться

r
27.06.2017
17:21:31
база то какая - MySQL?

Again
27.06.2017
17:21:55
да

ALTER TABLE <имя таблицы> ADD COLUMN <имя столбца> <определение столбца> AFTER <имя столбца, после которого добавить>; Мне надо так вставить дополнительный столб

r
27.06.2017
17:22:36
таблица по ученикам есть?

Again
27.06.2017
17:22:44
готовая?

r
27.06.2017
17:22:48
да

Again
27.06.2017
17:23:40
мне прям сюда кидать?

https://pastebin.com/tr8B5SAL

вот

r
27.06.2017
17:29:30
INSERT INTO students VALUES('8','R','B','5','5','5','5','5','5'); SELECT PP,Firstname,Secondname, ((Math+Physics+Russian+Literature+History+Computerscience)/6) as Sred_ball FROM students; +----+------------------+----------------+-----------+ | PP | Firstname | Secondname | Sred_ball | +----+------------------+----------------+-----------+ | 1 | Зайцев | Роман | 4.3333 | | 2 | Иванов | Николай | 4.0000 | | 3 | Котова | Ксения | 2.6667 | | 4 | Новикова | Елена | 3.6667 | | 5 | Сидоров | Петр | 4.6667 | | 6 | Петрова | Мария | 2.6667 | | 7 | Фролов | Михаил | 3.3333 | | 8 | R | B | 5.0000 | +----+------------------+----------------+-----------+

r
27.06.2017
17:31:41
" КОД "

`

Again
27.06.2017
17:31:50
"12321321"

r
27.06.2017
17:31:52
Три апострофа

Again
27.06.2017
17:32:08
~~~fwfw~~~

Google
r
27.06.2017
17:32:14
обромляешь слева и справа что хочешь выделить трем апостровами

без шифта

Again
27.06.2017
17:32:44
fewf

r
27.06.2017
17:32:45
как ковычка одинарная

Again
27.06.2017
17:32:52
'''wefew'''

fqfwqfqwf

спасибо

Спасибо за помощь

а то лабы,это боль

Как посчитать количетство элементов в столбце

по определенному условию?

Dmitriy
27.06.2017
22:49:12
щито?

count(field_name)

или что хочется?

Danil
28.06.2017
03:09:55
по определенному условию?
что за вопросы? открой книжу и почитай

Bocharnikov
28.06.2017
08:33:37
http://sqlinfo.ru/forum/viewtopic.php?id=8159

Again
28.06.2017
09:06:59
просто вопрос забыл удалить

Valijon
28.06.2017
10:35:58


Google
Valijon
28.06.2017
10:37:49
Процедура должна генерировать ключ, как показано на рисунке

Alexander
28.06.2017
10:43:46
select concat(id,'-tm/',...)

Valijon
28.06.2017
10:54:59
select concat(id,'-tm/',...)
А что насчет текущего года?

Alexander
28.06.2017
10:55:23
dev.mysql.com :)

YEAR(CURDATE())

Valijon
28.06.2017
11:11:04
? огромное спасибо

Difef
29.06.2017
01:53:57


Nurik
29.06.2017
11:18:26
Всем привет. Ребят подскажите. Я не спец в mysql. Есть таблица с водителями. При запросе забираю одну строку и тут же делаю update этой же строки в транзакции SELECT ... FOR UPDATE; Вопрос: 1. Вторая такая транзакция буде добавлена во внутреннюю очередь или выполнится параллельно первой? Просто для меня важно, чтобы изменения записи проходили первее чем, запросы на чтение. Т.е. если идут две параллельные транзакции, нужно чтобы во второй при выборке была уже измененная запись, которая была изменена первой транзакцией или вообще в неё не попадала.

Проще говоря нужно следующее: 1. Запрос на чтение возвращает id = 12 , изменяем значение flag = 1 2. (Параллельный) Запрос на чтение, (который потенциально мог вернуть запись id = 12 ), вернул id = 13 , потмоу что сработал первый и поэтому id=12 не был включен в выборку, а вместо него был выбран другой с`` flag=0`, т.е. `id=13``

Fike
29.06.2017
11:36:40
Транзакции сами по себе направлены на разрешение таких конфликтов. Если у вас уровень изоляции REPEATABLE READ (уровень по умолчанию), то база данных сама гарнтирует, что либо никто не изменил значение с начала транзакции, либо коммит транзакции будет отклонен. Как именно работают локи в этой ситуации точно не знаю, но могу предположить, что транзакция 2 будет ожидать данные до тех пор, пока транзакция 1 не закончится. В принципе вы можете перевести все на оптимистичную блокировку и вообще за это не волноваться - просто делайте UPDATE table SET flag = 1 WHERE id = 13 AND flag = 0, в этом случае если кто-то обновил флаг, то драйвер просто сообщит об отсутствии обновленных строк (вместо одной), и запрос надо повторить.

Nurik
29.06.2017
11:47:32
Транзакции сами по себе направлены на разрешение таких конфликтов. Если у вас уровень изоляции REPEATABLE READ (уровень по умолчанию), то база данных сама гарнтирует, что либо никто не изменил значение с начала транзакции, либо коммит транзакции будет отклонен. Как именно работают локи в этой ситуации точно не знаю, но могу предположить, что транзакция 2 будет ожидать данные до тех пор, пока транзакция 1 не закончится. В принципе вы можете перевести все на оптимистичную блокировку и вообще за это не волноваться - просто делайте UPDATE table SET flag = 1 WHERE id = 13 AND flag = 0, в этом случае если кто-то обновил флаг, то драйвер просто сообщит об отсутствии обновленных строк (вместо одной), и запрос надо повторить.
Насчёт этого: Транзакции сами по себе направлены на разрешение таких конфликтов. Если у вас уровень изоляции REPEATABLE READ (уровень по умолчанию), то база данных сама гарнтирует, что либо никто не изменил значение с начала транзакции, либо коммит транзакции будет отклонен. Как именно работают локи в этой ситуации точно не знаю, но могу предположить, что транзакция 2 будет ожидать данные до тех пор, пока транзакция 1 не закончится. Спасибо. Вроде более менее стало понятно. А вот здесь: В принципе вы можете перевести все на оптимистичную блокировку и вообще за это не волноваться - просто делайте UPDATE table SET flag = 1 WHERE id = 13 AND flag = 0, в этом случае если кто-то обновил флаг, то драйвер просто сообщит об отсутствии обновленных строк (вместо одной), и запрос надо повторить. С оптимистической блокировкой не совсем понял. Может ли получиться ситуация, когда повторять нужно будет несколько раз (1 - 10), ведь это будет напрямую коррелировать с количеством запросов ?

Fike
29.06.2017
11:50:41
В теории да, на практике это зависит от частоты запросов. Плюс при транзакционной модели у вас запросы будут либо ждать друг друга, либо транзакции будут валиться одна за другой абсолютно аналогичным образом.

Страница 33 из 142