Вопросы с тегами [mysql++]

1

голосов
3

ответ
43

Просмотры

MySQL копия схемы без данных

с помощью PHPMyAdmin и MySQL я пытаюсь выполнить следующий запрос без успеха создания TABLE «amazonUK-гусеничного» как «amazonDE-гусеничного»; 2 были обнаружены ошибки в процессе анализа. Открывающей скобки, как ожидается. (Рядом с «как» в положении 32), как ожидается, по крайней мере одно определение столбца. (Рядом с «» в положении 31)
Yossi Bondasd
1

голосов
2

ответ
40

Просмотры

Когда кнопка Delete хит, изображение должно быть удалено из таблицы, сообщение об ошибке, показывая вместо

У меня есть галерея, где я хочу, чтобы пользователь смог обновить название изображения и удалять изображение, если они пожелают. Мое обновление названия код работает, как ожидалось, и я предположил, удаление коды не будет далеко от того же.
qwpozxmn
1

голосов
2

ответ
3.2k

Просмотры

PHP подключения Oracle и MySQL

Я пытаюсь получить некоторые данные из Oracle через ODBC к базе данных MySQL. А затем вставить несколько строк в базе данных MySQL. Мне удается перечислить строки из ORACLE, но не вставить в MYSQL. $ TIME_START = микропоры (истина); set_time_limit (10000); // Ligação ODBC ORACLE $ = odbc_connect подключения ( "тест", "тест", "тест"); $ Запроса = "выберите barcod, to_char (barfecgen, 'YYYY-MM-DD') в качестве данных, barnumuni, barcolnom, clicod из barcad, где barcodreo = 1"; $ Результат = odbc_exec ($ подключения, $ запроса); $ NumOF = 0; // Ligação MySql $ CON = mysql_connect ( "локальный", "корень", "интрасеть"); если (! $ CON) {умереть ( 'Erro де Ligação MySql:'. mysql_error ()); } Mysql_select_db ( "bd_test", $ CON); ?> <Таблица граница = "0" ALIGN = "Центр"
Carlos Martins
0

голосов
0

ответ
10

Просмотры

что делает наиболее точную структуру данных - MySql

Я работаю в Java, и мне нужно, чтобы сделать базу данных. Я сущность называется папка, которая имеет поля: INT Строка идентификатора папки имя папки Что является лучшим способом представить ссылку папки для себя (папку Folder) в базе данных? создать таблицу e_folder (F_ID INT AUTO_INCREMENT, f_name VARCHAR (100) NOT NULL, # PRIMARY KEY (F_ID)?);
Patrick Jane
1

голосов
1

ответ
1.8k

Просмотры

MySQL Команды не работает на Windows, CMD

У меня есть проблема с моей установки MySQL на Windows. Прежде всего, я скачал последнюю версию установщика Windows из dev.mysql.com и установки сервера. Теперь, когда я пытаюсь выполнить команды MySQL в ЦМД (я уже изменил переменную PATH, и я вошел в качестве MySQL суперпользователя) команда не будет выполнена, есть только «->» показ. Я могу только выйти из этого «режима», набрав в «\ д», и не выполнив «выход». Может быть, вы можете мне помочь, мне действительно нужно MySQL для моего Ruby On Rails проекта. Спасибо!
nor0x
1

голосов
3

ответ
4.4k

Просмотры

Как использовать OR & AND в ИНЕКЕ в MySQL

Я новичок в Mysql и есть таблица, где в настоящее время я буду получать данные о качестве SELECT * FROM имя_таблицы WHERE имя = «$ USER» AND DATE = «$ SelectedDate» Теперь я хочу добавить еще один столбец с именем status_id, где я хочу чтобы выбрать от значения, то есть 1 или 2 Я попробовал этот запрос SELECT * FROM имя_таблицы WHERE (имя = 'Анкит') AND (дата = '2015-04-23') AND (status_id = '1' OR status_id = '2' ), но ничего не вышло. Пожалуйста помоги.
AK_56
1

голосов
0

ответ
9

Просмотры

Вставьте один экземпляр в MySQL с ZF1

Я работаю в настоящее время в Zend Framework 1.12 Я хотел бы вставить хэш временной метки в тузд таблицу (zb_table) через API Ищу механизм введения, такого рода для каждой вставки, я должен убедиться, что не было никакой другая вставки на то же время порядок введения является важным является возможность блокировать все вставки и соблюдать порядок? Спасибо
NF38
0

голосов
1

ответ
24

Просмотры

Как выполнить запрос с большим количеством данных?

Я пытаюсь выполнить запрос на XAMPP MySQL. У меня есть 2 таблицы. Первая таблица имеет около 30k строк, каждая строка является специфическим ы. (Ы это номер, присвоенный продукту) Вторая таблица имеет 100k строк. Он имеет все данные для каждого SKU. Моя цель состоит в том, чтобы собрать все данные для каждого SKU из первой таблицы. Это то, что я сделал до сих пор: выберите v.sku, t.TTC_TYP_ID, t.CAR_BRAND, t.CAR_MODEL, t.CAR_TYP, t.CAR_BODY, t.CAR_OF_YEAR, t.CAR_TO_YEAR, t.CAR_KW, t.CAR_PM, т .CAR_CC, t.ART_NAME, t.ART_GROUP, t.PARTS_INFO, t.TERMS_OF_USE, t.ART_CROSS из volvo_skus против присоединиться к truckpartstest т на v.sku = t.oe_number Я попытался соединить v.SKU и t.oe_number, потому что они то же самое, только другое имя для столбца. Это все хорошо, если я запускаю этот скрипт с небольшим количеством данных. Но когда я пытаюсь запустить этот скрипт с реальным количеством данных, XAMPP показывает ' Loading»бар и ничего не происходит. Любые идеи, как я могу это исправить?
Sigitas
0

голосов
0

ответ
2

Просмотры

Как использовать одну переменное значение в качестве результата для другого переменного ввода в графан?

Я использую MySQL в качестве моего источника данных в графана, и я уверен, выполнение запросов на выборку для выборки данных Вот запрос, который я уверен, выполнение, SELECT * FROM [[баз данных]]. [[Столбцы]] предел 0, [[предел]] ; Я создал 3 переменные «баз данных», «колонна» и «предел», который даст мне соответствующий результат и я variablized «баз данных» и «предельные значения», но то, что я хочу, когда я выбираю значение базы данных из выпадающего списка переменная столбец должны показать таблицы из выбранной базы данных только что должно быть моим переменным запросом для этого?
Devendra
0

голосов
0

ответ
18

Просмотры

Express/MySQL not returning same value returned by MySQL Workbench

I have a query that is perfectly working when I run it on MySQL Workbench, but when I run it on Express it is returning me all the data on my database. Please help fix? PS. posted this before but didn't get fixed. --Client $.ajax({ url: '/filter', type: 'get', contentType: 'application', data: { categoryIDs : checkedCategory, materialIDs : checkedMaterial, designIDs : checkedDesign}, success: function(response) { console.log(response.products); } }); --Server code getFilteredTable: function(req, res, next) { var filter="SELECT COUNT(A.id) \ FROM tbl_product A JOIN tbl_product_details B ON A.id = B.prod_id \ JOIN tbl_category C ON A.id = C.prod_id \ JOIN tbl_material D ON A.id = D.prod_id \ JOIN tbl_design E ON A.id = E.prod_id \ WHERE C.category_id IN (?) \ AND (D.material_id IN (?) \ OR E.design_id IN (?))"; mysqlConnection.query(filter, [req.query.categoryIDs, req.query.materialIDs, req.query.designIDs], function(err, rows, fields) { if(!err) res.send({products : rows}); else console.log(err); }); }, This is my query: SELECT COUNT(A.id) FROM tbl_product A JOIN tbl_product_details B ON A.id = B.prod_id JOIN tbl_category C ON A.id = C.prod_id JOIN tbl_material D ON A.id = D.prod_id JOIN tbl_design E ON A.id = E.prod_id WHERE C.category_id IN (6) AND (D.material_id IN (15) OR E.design_id IN (39)); I expect the output to be (workbench result): COUNT(A.id): 42 instead, it's giving me: COUNT(A.id): 1582
Matthew
1

голосов
2

ответ
38

Просмотры

В случае, если процедура возвращает значение?

В случае, если процедура возвращаемое значение в MYSQL? У меня есть процедура, которая проверяет порядок и изменяет статус некоторых условий. В зависимости от состояния результата условие может быть разница также. Как вернуть обратно код результата? Или конкретное сообщение?
user3573738
1

голосов
2

ответ
35

Просмотры

Remove the first character from an ID

Я пытаюсь сделать запрос SQL с РЕГИСТРИРУЙТЕСЬ но у меня есть подана где идентификатор, содержащий букву в первом положении. Мне нужно, чтобы опустить его, когда я делаю запрос. Значение службы столбца равно идентификатор tbl2 без символа «S»). Вот таблица: tbl1 ------------------- | ID | обслуживание | ------------------- | 58186 | S83968 | | ... | ... | tbl2 ------------------- | ID | домен | ------------------- | 83968 | serv123 | | ... | ... | То, что я пытался: SELECT `domain` FROM` tbl2` INNER JOIN `tbl1` WHERE tbl2.id = tbl1.SUBSTR (обслуживание, 2) и Ид = '58186'; Он возвращает ошибку:. # 1630 - FUNCTION tbl1.SUBSTR не существует. Проверьте «Название функции Синтаксический и разрешение» раздел в Справочное руководство Ожидаемый результат: ----------- | домен | ----------- | serv123 |
executable
1

голосов
2

ответ
158

Просмотры

MySQL Команды из синхронизации Python

Я пытаюсь инициализировать свою базу данных с MySQL и соединителем питона MySQL. После того, как я бегу код ниже я получаю это исключение: mysql.connector.errors.DatabaseError: 2014 (HY000): Команды из синхронизации; вы не можете запустить эту команду теперь я попробовал несколько вещи, в том числе совершить объект подключения хотя ничего, как работали для меня. инициализации четкости (): CNX = mysql.connector.connect (пользователь = "корень", пароль = "XXXXXXXXX", хозяин = '127.0.0.1') курсор = cnx.cursor () cursor.execute ( "CREATE DATABASE IF NOT EXISTS izugitdb; ") cursor.execute (" USE izugitdb; ") cursor.execute (" CREATE TABLE IF NOT EXISTS employee_users (user_id INT AUTO_INCREMENT PRIMARY KEY, имя пользователя VARCHAR (40) NOT NULL, пароль VARCHAR (40) NOT NULL, IsAdmin TINYINT (1) По умолчанию 0 NOT NULL);»
delex
1

голосов
1

ответ
41

Просмотры

Хранимая процедура, которая принимает запрос в качестве параметра

Я пытаюсь написать хранимую процедуру MySQL, которая принимает запрос SELECT, и выполняет его со списком баз данных. Это возможно даже с MySQL? Каждый клиент нашего приложения имеет свою собственную базу данных по одному экземпляру. Все базы данных клиентов идентичны по своей структуре схемы. Иногда, мне нужно выполнить простой запрос SELECT, но и во все базы данных клиентов (например, SELECT COUNT (*) FROM пользователей). Я хранимые процедуры для общих повторяющихся «экземпляра шириной» запросов как количества пользователей, но я не хочу, чтобы создать больше тех, для разовых запросов (например, запрашивая для поврежденных записей в связи с помощью багги кода, запрашивая для столбцов, мы планируем принизить и т.д.). Мое текущее решением является то, что у меня есть сценарий узла, который я бег на месте для создания запросов на выборку для каждой базы данных, а затем объединить их все с помощью UNION, чтобы создать гигантский запрос, который я затем выполнить на экземпляре базы данных. ВЫБОР 'customerdb1' как клиент, COUNT (*) AS USER_COUNT FROM 'customerdb2' customerdb1.users UNION выбора в качестве клиента, COUNT (*) AS USER_COUNT FROM 'customerdb3' customerdb2.users UNION выбора в качестве клиента, COUNT (*) AS USER_COUNT ОТ customerdb3.users
dashmug
1

голосов
2

ответ
31

Просмотры

Группировка по найти средние различия для конкретных индексов в SQL

У меня есть следующая таблица: person_index оценка год 3 76 2003 3 86 2004 3 86 2005 3 87 2006 4 55 2005 4 91 2006 Я хочу, чтобы сгруппировать по person_index, получая среднюю разницу оценка между последовательными лет, так что я в конечном итоге с одной строка на человека, что указывает на среднее увеличение / уменьшение: person_index сред (score_diff) 3 3,67 4 36 Таким образом, для человека с индексом 3 - произошли изменения в течение 3-х лет, один был 10pt, один 0, и один 1pt. Таким образом, их средний score_diff составляет 3,67. EDIT: уточнить, баллы можно также уменьшить. И годы не обязательно подряд (один человек не может получить счет в определенном году, так что может быть 2013, затем к 2015 году).
guyts
1

голосов
4

ответ
68

Просмотры

Использование PHP Mysql, как я могу получить, какое условие удовлетворяется от множества OR условия в запросе SQL?

У меня есть ниже запрос: $ SQL = «SELECT * FROM` tbl_user` WHERE `Code1` = '114' OR` Code2` = '114' OR `Code3` = '114' OR` Code4` = '114' или `Code5 `= '114'"; Я могу найти столбец, который удовлетворяет условию code1 или Кодекса2 или Code3 ... путем array_search результата возврата. Но я могу получить любое другое простое решение?
Gopal Satpati
1

голосов
3

ответ
53

Просмотры

Laravel, где положение не работает после нескольких статей orWhere?

Я запрашивая транспортные средства с названием модели и типа, но они где пункты не в конце после addingorWhere. Когда я комментирую или удалить эти Клаусы orWhere затем свою работу. $ Модели = Vehicle :: присоединиться ( 'vmodels', 'vmodels.vehicle_id', '=', 'vehicles.id') -> Join ( 'vehicletypes', 'vehicletypes.id', '=', «vehicles.vehicletype_id ') -> присоединиться (' бренды, 'brands.id', '=', 'vehicles.make') -> присоединиться ( 'компании', 'brands.id', '=', 'companies.name') -> выберите ( 'vehicles.slug в vslug', 'brands.name, как маркой', 'vehicles.id, как VID', 'vmodels *', 'vehicletypes.name в VType', 'companies.status в cstatus') -> где ( 'brands.name', 'LIKE', "
Amir Ur Rehman
1

голосов
3

ответ
33

Просмотры

Проблема в получении данных между двумя датами в MySQL

Вот мой стол tb_orders: Я хочу получать заказы между датой 2016-08-29 и 2017-01-14, включая эти указанные даты. Я попробовал два запроса с помощью AND и между операторами, но в результате получили не как ожидалось. SELECT * FROM `tb_orders` WHERE` order_date`> = DATE ( '2016-08-29') и `order_date`
user5307298
1

голосов
1

ответ
46

Просмотры

сгруппировать несколько строк с одинаковым значением MySQL

У меня есть определенный результат-набор, и мне нужно сгруппировать их вместе на USERID. например, идентификатор пользователя 2019-01-15 2019-01-16 ------------------------------ 132 0 30_140 30_140 132 0 Требуемая мощность : идентификатор пользователя 2019-01-15 2019-01-16 ------------------------------ 132 30_140 30_140 Поскольку значения содержат не- числовые символы, SUM не будет работать.
Azima
1

голосов
1

ответ
24

Просмотры

Является ли «PNREF» PayPal всегда 12 символов?

Кто-нибудь знает, если «PNREF» PayPal, (вернулся из авторизаций нулевой доллар) всегда 12 символов? Это я спрашиваю, потому что я хочу, чтобы оптимизировать хранение данных MYSQL. А также, я доверяю SO Ответим более :-D PP в
Parapluie
1

голосов
2

ответ
33

Просмотры

как использовать значение переменной в Java, как имя таблицы в MySQL?

код: String myTblN = fileN [0]; PreparedStatement creatTableStmt = conn.prepareStatement ( "создать таблицу" + myTblN + "как stocktradtbl"); System.out.println (creatTableStmt); creatTableStmt.execute (); Ошибка: com.mysql.cj.jdbc.ClientPreparedStatement: создать таблицу 00002 как stocktradtbl java.sql.SQLSyntaxErrorException: У вас ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи 00002 как stocktradtbl»в строке 1 Как использовать значение переменной myTblN в Java, как имя таблицы в MySQL?
XL _at_China
1

голосов
3

ответ
45

Просмотры

MySQL- Improvement on count(*) aggregation with composite index keys

У меня есть таблица со следующей структурой с почти 120000 строк, по убыванию user_group_report + ------------------ + ---------- + ---- - + ----- + ------------------- + ------- + | поле | Тип | Null | Ключ | По умолчанию | Extra | + ------------------ + ---------- + ------ + ----- + ------ ------------- + ------- + | user_id | INT | ДА | MUL | NULL | | | group_id | INT (11) | ДА | MUL | NULL | | | type_id | INT (11) | ДА | | NULL | | | group_desc | VARCHAR (128) | НЕТ | | NULL | | статус | перечисление ( «открытый», «закрыть» ) | НЕТ | | NULL | | | LAST_UPDATED | Дата и время | НЕТ | | CURRENT_TIMESTAMP | | + ------------------ + ---------- + ------ + ----- + ------ ------------- + ------- + у меня есть индексы на следующие клавиши: user_group_type (user_id, group_id, group_type) group_type (group_id, type_id) user_type (user_id, type_id) user_group (user_id, group_id) Мой вопрос я бегу агрегацию COUNT (*) на приведенной выше таблице группы по group_id и с п о tYPE_ID Вот запрос: SELECT COUNT (*) user_count, group_id из user_group_report где type_id = 1 группа по group_id; а вот объяснить план (запрос с 0,3 сек в среднем): + ---- + ------------- + ------------------ + ------- + --- ------------------------------ + --------- + --------- + ------ + -------- + -------------------------- + | ID | SELECT_TYPE | стол | типа | possible_keys | ключ | key_len | ссылка | строки | Extra | + ---- + ------------- + ------------------ + ------- + --- ------------------------------ + --------- + --------- + ------ + -------- + -------------------------- + | 1 | SIMPLE | user_group_report | индекс | user_group_type, group_type, user_group | group_type | 10 | NULL | 119811 | Используя где; Использование индекса | + ---- + ------------- + ------------------ + ------- + --- ------------------------------ + --------- + --------- + ------ + -------- + -------------------------- + Здесь, как я понимаю, запрос почти выполняет полный просмотр таблицы из-за сложные индексы и когда я пытаюсь добавить индекс group_id, строки в объяснить план показывает меньшее число (почти половина строк), но время принятия для выполнения запроса увеличивается до 0,4-0,5 сек. Я пробовал разные способы добавления / удаления индексов, но ни один из них не является сокращение затраченного времени. Предполагая, что структура таблицы не может быть изменена, и выполнение запроса не зависит от других таблиц, может кто-то предложить мне лучший способ оптимизировать выше запрос или если я что-нибудь здесь отсутствует. PS: Я уже пытался изменить запрос к следующему, но не смог найти какие-либо улучшений. выберите COUNT (user_id) USER_COUNT, group_id от user_group_report, где type_id = 1 группа по group_id; Любая маленькая помощь ценится. Изменить: В соответствии с предложениями, я добавил новый индекс type_group на (TYPE_ID, group_id) Это новый объяснить план. Количество строк в объяснении, уменьшается, но время выполнения запроса все то же + ---- + ------------- + ------------- ----- + ------ + --- + --------------------------------- ------ + --------- + ------- + ------- + ----------------- --------- + | ID | SELECT_TYPE | стол | типа | possible_keys | ключ | key_len | ссылка | строки | Extra | + ---- + ------------- + ------------------ + ------ + ---- ----------------------------- + --------- + --------- + ------- + ------- + -------------------------- + | 1 | SIMPLE | user_group_report | ссылка | user_group_type, type_group, user_group | type_group | 5 | Const | 59846 | Используя где; Использование индекса | + ---- + ------------- + ------------------ + ------ + ---- ----------------------------- + --------- + --------- + ------- + ------- + -------------------------- + EDIT 2: Добавление деталей, как предложено в ответах / комментарии SELECT COUNT (*) из user_group_report где type_id = 1 сам по себе этот запрос принимает 0,25 секунд для выполнения. а вот объяснить план: + ---- + ------------- + ------------------ + ------ + ---- ----------- + --------- + --------- + ------- + ------- + - ----------- + | ID | SELECT_TYPE | стол | типа | possible_keys | ключ | key_len | ссылка | строки | Extra | + ---- + ------------- + ------------------ + ------ + ---- ----------- + --------- + --------- + ------- + ------- + - ----------- + | 1 | SIMPLE | user_group_report | ссылка | type_group | type_group | 5 | Const | 59866 | Использование индекса | + ---- + ------------- + ------------------ + ------ + ---- ----------- + --------- + --------- + ------- + ------- + - ----------- +
Coder 477
0

голосов
0

ответ
23

Просмотры

Is there any way I can sort a this table using 'ORDER BY'?

У меня есть таблица «Учетные записи», которая содержит учетную запись группы (isgroup) с субсчета (groupcode): | код | название | groupcode | isgroup | GroupIndex | | ------ | ---------------- | ----------- | --------- | --- --------- | | 100 | Текущие активы | | 1 | 0 | | 101 | Денежные средства | 100 | 1 | 1 | | 102 | AR | 100 | 1 | 1 | | 103 | Недвижимость | | 1 | 0 | | 104 | Баланс | | 1 | 0 | | 105 | Денежные средства в кассе | 101 | 1 | 2 | | 106 | Денежные средства в банке | 101 | 1 | 2 | | 107 | Мой Банк 1 | 106 | 0 | 3 | | 108 | Cahier 1 | 105 | 0 | 3 | | 109 | Здание 1 | 103 | 0 | 1 | Заметки: Там нет никакого стандартного способа генерации кода «». Это может быть любой (текст) Любая учетная запись может иметь столько счетов суб определяются «isgroup» и «groupcode». «Isgroup» определяет, является ли учетная запись может иметь субсчета. «GroupIndex» определяет вспомогательный уровень учетной записи. Индекс п (0) является верхним уровнем, его субсчет будет индекс п + 1 мне нужно сортировать его, как это: | код | название | groupcode | isgroup | GroupIndex | | ------ | ---------------- | ----------- | --------- | --- --------- | | 100 | Текущие активы | | 1 | 0 | | 101 | Денежные средства | 100 | 1 | 1 | | 105 | Денежные средства в кассе | 101 | 1 | 2 | | 108 | Кассир 1 | 105 | 0 | 3 | | 106 | Денежные средства в банке | 101 | 1 | 2 | | 107 | Мой Банк 1 | 106 | 0 | 3 | | 102 | AR | 100 | 1 | 1 | | 103 | Недвижимость | | 1 | 0 | | 109 | Здание 1 | 103 | 0 | 1 | | 104 | Баланс | | 1 | 0 | Счет верхнего уровня и его подпункты счета до н уровне должно отображаться первым, затем следующий верхний уровень учетной записи. Я выполнил задачу на уровне приложений с помощью рекурсивной функции и добавить Ряды один за другим к DataTable. Есть ли способ, я могу сортировать эту таблицу на уровне базы данных?
Melvin
0

голосов
0

ответ
15

Просмотры

Расширение системы регистров PHP

I have the following table in mysql database : CREATE TABLE IF NOT EXISTS `accounts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; and a php system to handle the users . I want to add a new field to the register form like a selectable list : Beginner,Intermediate, Advanced, where user can select the status at the time they will fill the register form. How can I handle this new select list based on its values(Beginner,Intermediate, Advanced) in the mysql table and also in php code. Because based on experience I have a profile page that will displayed different information(also based on experience of the user). This is the original document : https://codeshack.io/secure-registration-system-php-mysql/ Investor Experience Level Beginner Intermediate Advanced Already have an account? Login here.
Junior.junior
1

голосов
2

ответ
33

Просмотры

Как я могу добавить Mulitple столбцов и отображать максимальное значение?

В следующем коде, я добавляю фэнов, тренер, TeamRanks, Организация и Kicker из таблицы рангов. Она возвращает сумму каждой строки как общее количество. Тем не менее, я не уверен, как я могу отобразить максимальное значение для всего. Мне не нужен весь список того. Выберите ID (фэны + тренер + TeamRanks + Организация + Kicker) как общее, фэны, тренер, TeamRanks, организация, Kicker от рангов; Это возвращает общее для каждого столбца, однако мне нужно макс. Значение общего количества.
sul
0

голосов
2

ответ
22

Просмотры

Optimize speed of Mysql JOIN query

I have 2 tables called T1 made of 1.6mln of rows and T2 made of 4.6mln of rows with with one-to-many relationship. The CREATE STMT of T1 is: CREATE TABLE `T1` ( `field_1` text, `field_2` text, `field_3` decimal(10,6) DEFAULT NULL, `field_4` decimal(10,6) DEFAULT NULL, `field_4` decimal(10,6) DEFAULT NULL, `field_5` text, `field_6` text, `field_7` text, `field_8` double DEFAULT NULL, `field_9` text, `field_10` text, `field_11` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; The CREATE STMT of T2 is: CREATE TABLE `T2` ( `field_1` int(11) DEFAULT NULL, `field_2` text, `field_3` text, `field_4` text, `field_5` text, `field_6` text, `field_7` text, `field_8` text, `field_9` text, `field_10` text, `field_11` text, `field_12` text, `field_13` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1; I don't have set any kind of indexes or any particular constraints for now, but the T1.field_1 should be my ideal key and can be joined with T2.field_2 field. If I decide to make a JOIN like: SELECT * FROM T1 JOIN T2 ON T1.field_1=T2.field_2 WHERE T1.=2130100; The benchmark is really high. This is the EXPLAIN: So I'm just trying to understand what could be some possibile improvements: Add some index Change the type of the input fields? Maybe add a primary key?
UgoL
1

голосов
2

ответ
3.2k

Просмотры

WordPress запросов MySQL для последующей миниатюры

Я пытаюсь сделать запрос, чтобы получить пост заголовка, ссылку и изображение поста. Я есть то, что мне нужно с помощью следующего запроса: SELECT WPPOSTS.post_title, WPPOSTS.guid, WPPOSTS_2.image ОТ wp_posts WPPOSTS LEFT JOIN (SELECT Guid как изображение, post_parent ОТ wp_posts ГДЕ post_type = 'вложение' ORDER BY post_date_gmt ⇓) WPPOSTS_2 ВКЛ ( WPPOSTS_2.post_parent = WPPOSTS.ID) WHERE WPPOSTS.ID IN (2439,2395,2355) Теперь, что я действительно хочу, чтобы получить только последний эскиз, вставленный в посте, не все из них. Вот причина, почему я уже рассматривал порядок по п. Я пытался ставить «LIMIT 1» внутри LEFT JOIN SELECT, но я предполагаю, что это не так. Любая идея? Спасибо
Ricardo
1

голосов
3

ответ
2.8k

Просмотры

MySQL BLOB: как получить только подмножество сохраненных данных

Я хотел бы использовать MYSQL в качестве системы хранения для огромного количества файлов. Я хотел бы, чтобы читать / писать только часть данных, хранящихся в столбце (данные хранятся в виде байт), поэтому я не придется загрузить весь файл в приложение (так как он может быть> чем ГБ). Итак, вкратце, я хотел бы иметь случайное чтение / запись доступа в столбце двоичных объектов без загрузки всех данных в память. Существуют ли доступные функции для выполнения этих операций? Спасибо.
Umar Jamil
1

голосов
3

ответ
141

Просмотры

Удаление дубликатов Эффективно строк

У меня есть таблица с 28 миллионов записей, но теперь она имеет 56 миллионов записей, потому что считается, что местная команда входной_файл нагрузка будет игнорировать строки, которые уже были в таблице. Нет мне нужен способ, чтобы эффективно удалить повторяющиеся строки. Что такое лучший способ приблизиться к этому? Если я не хочу коснуться моей таблицы можно просто выбрать уникальные строки этого заявления: выберите отчетливый (l1.lat, l2.lon) из A, B;
cool_cs
1

голосов
3

ответ
7.6k

Просмотры

Вставка нескольких словарных объектов в базу данных MySQL с использованием Python и MySQLDb

Я боролся с этим в течение нескольких часов, и я чувствую, что плачу сейчас, когда я не в состоянии понять, что происходит. Вот упрощенная версия моих данных: MYDATA = [{ 'ID': 123, 'вещь': 'GHI', 'значения': 1}, { 'ID': 456, 'вещь': 'XYZ', " значение ': 0}] Это код у меня есть: импорт MySQLdb, как MDB CON = None CON = mdb.connect (' локальный», 'испытывать', 'anothervalue', 'andanother'); текущ = con.cursor () SQL = "INSERT INTO` `tablename` (id`,` `thing` value`) значения (% (ID) S,% (вещь) s,% (значение) с)" текущ .executemany (SQL, (шахта для шахты в MyData)) con.close () То, что я ожидал случиться, что 2 строка будет вставлена ​​в имя_таблицы. Что на самом деле происходит то, что скрипт выполняется без каких-либо ошибок и строк не вставляются. Что я делаю неправильно? Если я один INSERT вручную вставляет в таблицу должным образом, так что я думаю, что знаю его не проблема с базой данных MySQL, а как я передаю переменные в базу данных. Еще один вопрос у меня есть, как вставить значение как поплавок? На данный момент у меня есть определение значения в таблице как TINYTEXT NOT NULL, я хотел бы, чтобы это было FLOAT NOT NULL, но я не уверен, как справиться с substition выше.
user1464409
1

голосов
2

ответ
60

Просмотры

Выберите несколько значений из разных столбцов

У меня 5 разных столбцов с более чем 100 строк каждая из которых имеет ассортимент номеров. Я был в состоянии рассчитывать все значения из столбца 1, которые равны 3, я хочу, чтобы иметь возможность подсчитать все номерные 3s от всех 5 различных столбцов и добавить их $ countquery = «SELECT COUNT (*) FROM PowerBall WHERE W1 = 3»; $ Countresult = mysql_query ($ countquery) или умереть (mysql_error ()); в то время как ($ countrow = mysql_fetch_array ($ countresult)) {эхо ""; эхо «Есть». $ Countrow [ 'COUNT (*)'] "- 3s". }
inVINCEable
1

голосов
1

ответ
13

Просмотры

объект данных Вставка JSON в MySQL с помощью Node.js

.. Я хочу, чтобы вставить объект JSON в MySQL в сервере Node.js, это код, пусть ID = 1 пусть дата = новая дата () toJSON () срез (0,10) .Надеть (/ - / г, '/ «); пусть SQL = 'вставить в case_record (case_details, gen_date, case_id) VALUES (' + caseDetails + ' '+ дата +', '+ идентификатор +')' console.log (SQL) con.query (SQL, функция (ERR, результат, полей) {если (ERR) бросить ERR; разреш = результат; console.log (RES)}); Это данные caseDetails пусть caseDetails = {caseData, patData, notifData, primecData, refData} Каждый из объекта в caseDetails является JSON-объект также. Когда я преобразования приложений, возврат ошибка Ошибка: ER_PARSE_ERROR: У вас ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «[объект Object], 2019/04 / 22,1)»
Wenhao Hong
1

голосов
0

ответ
156

Просмотры

многократный запрос против пакетного исполнения с Mybatis весной

У меня есть один вопрос. многократный запрос против партии с mybatis в Спринг примере) Случай 1. allowmutiquery = TRUE и одного вызова вызова «mutiquery»; обновление ... набор .... случай 2. цикл несколько вызовов и пакетное выполнение для (;;) {Вызывают «партию»; } Обновления ... установлен .... что так лучше?
J.K.R
1

голосов
0

ответ
102

Просмотры

MySQL: расстояние между двумя точками (с использованием MBRContains)

Quassnoi отмечает MyPoint этого поля в таблице, которая хранит координату. Мой вопрос, когда речь идет о долготе и широте, что MyPoint? Что именно нам нужно перейти к MBRContains в качестве второго аргумента? Мои извинения, если это тривиальный вопрос. Я хотел спросить Quassnoi непосредственно, но у меня нет достаточно очков репутации прокомментировать пост. Заранее спасибо!
Greeen
1

голосов
1

ответ
36

Просмотры

SQL: Всего записей в течение последних 7 дней, группа в день, если нет записей на этот день не установлен как 0

У меня есть таблица со следующими столбцами: идентификатор | время (SQL дата и время) | URL мне нужно, чтобы получить итоги за последние 7 дней с сегодняшнего дня. Если итоги за этот день равны 0 - вернуть его как 0 вместо того, чтобы не возвращаются вообще. Я попытался это: SELECT, время, COUNT (*) AS `num` из записей, где время> DATE_SUB (CURDATE (), ИНТЕРВАЛ 7 DAY) GROUP BY времени, но она возвращает итоговую в час, от моего понимания - я как-то нужно преобразовать дату-на сегодняшний день? Я все еще учусь SQL.
nonToxicGuy22
1

голосов
2

ответ
149

Просмотры

laravel - How to get data by pivot table

У меня есть проблема с Laravel. Я создал отношения между таблицами и отношениями на уровне модели в Laravel, но если я хочу, чтобы отобразить данные в представление, я получаю сообщение об ошибке: Свойство [категория] не существует на этом примере коллекции. стол с фильмами называется: видео таблица с категориями называется: категории сводная таблица называется: category_video код видео модель: Категории общественные функции () {вернуть $ this-> belongsToMany ( «App \ Категория»); } Категория код модели: функция видео общественного () {вернуть $ this-> belongsToMany ( 'App \ Video'); } В контроллере у меня есть это: $ slider_videos = Video :: -> OrderBy ( 'рейтинг', 'убывание') -> предел (5) -> получить (); Ввиду я стараюсь это: @foreach ($ slider_videos как $ slider_video) {{$ slider_video-> category->
White Cat
1

голосов
1

ответ
40

Просмотры

создание триггера в PHP-мой-администратора

я хотел бы создать триггер с помощью PHPMyAdmin «добавить триггер» вариант. Триггер должен работать после каждого INSERT в комментариях таблицы, которая принимает наибольшее «количество комментариев» (пс в БД) из таблицы «POST» и принимает «ID» и «вопрос» из этой строки и помещает его в " top_questions»таблица Update1: я хочу топ 5 записей с 5 самыми высоким„рядом замечаний“отсортированы по убыванию ввести в столешнице Вопросов сообщения таблицы: после Столешницы Вопросов таблицы: top_questions таблицы MCO означает„наиболее прокомментировали“и вот где вопрос должен быть взят от должности и поставить в замечании таблице: комментарий таблицы Update2: в данный момент я задаюсь вопросом, я должен сделать это в качестве триггера, вид, или материализованное представление? (Я бы до сих пор предпочитаю его в качестве триггера)
Zyzzx
1

голосов
0

ответ
39

Просмотры

Как ускорить NOT IN или LEFT JOIN или НЕ СУЩЕСТВУЕТ в Mysql Query

Привет всем Я пишу этот запрос для Взял не существует значение (Validation), у меня есть 51000 записей в таблице А, А в таблице B 36000 записей запроса С не существует ВЫБОР A.D_ID ОТ temp_status_entry КАК, ГДЕ A.Created_by = '1 'И НЕ СУЩЕСТВУЕТ (SELECT NULL ОТ status_entry AS В, где B.NoofLines =' 0' И A.D_ID = B.S_ID) запрос с LEFT JOIN SELECT, A.D_ID ОТ temp_status_entry левый РЕГИСТРИРУЙТЕСЬ status_entry B ON A.D_ID = B. s_ID WHERE A.D_ID IS NULL запрос с LEFT JOIN SELECT, FROM D_ID temp_status_entry WHERE CREATED_BY = '1' AND D_ID NOT IN (SELECT s_id FROM status_entry WHERE NoofLines = '0') все дубли более 1000 сек Пожалуйста, помогите мне решить эту проблему ( Я использую Navicat) также попробовать с индексами
Madhan
-1

голосов
0

ответ
11

Просмотры

Как создать логин (MySQL) с несколькими типами пользователей в Android

Я хочу создать регистрационную деятельность с несколькими типами пользователей. Этот Войти связан с MySQL. Множественный выбор «Рецензент» и «Non-Рецензент». Теперь я использую Spinner и значение я вызываю из string.xml. В таблице «пользователь», есть некоторые колонки, такие как «имя пользователя», «пароль», и «UserType». Пример, пользователь «питер» является «Рецензент», он будет в состоянии войти в систему, если имя пользователя, пароль и тип пользователя, который он использует правильно. Как я могу решить эту проблему? Ниже мой код. // Войти деятельность общественного класса MainActivity расширяет AppCompatActivity {частный статический окончательная Строку KEY_USERNAME = «имя пользователя»; частная статическая окончательная Строка LOGIN_URL = «http://lienawan.xyz/login.php»; частный SharedPreferences.Editor loginPrefsEditor; частный EditText etEmail; частный EditText etPassword; частный CheckBox chkMe; ArrayAdapter адаптер; @RequiresApi (API = Build.VERSION_CODES.KITKAT) @Override защищен недействительным OnCreate (Пачка savedInstanceState) {super.onCreate (savedInstanceState); requestWindowFeature (Window.FEATURE_NO_TITLE); // будет скрывать название Objects.requireNonNull (getSupportActionBar ()) скрыть (). // скрыть название ба setContentView (R.layout.activity_main); etEmail = findViewById (R.id.etEmail); etPassword = findViewById (R.id.etPassword); chkMe = findViewById (R.id.chkMe); SharedPreferences loginPreferences = getSharedPreferences ( "loginPrefs", MODE_PRIVATE); loginPrefsEditor = loginPreferences.edit (); булево saveLogin = loginPreferences.getBoolean ( "saveLogin", ложь); если (saveLogin) {etEmail.setText (loginPreferences. GetString ( "Имя пользователя", "")); etPassword.setText (loginPreferences.getString ( "пароль", "")); chkMe.setChecked (истина); } Вертушка spCategory = findViewById (R.id.spCategory); Адаптер = ArrayAdapter.createFromResource (это, R.array.usertype, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource (android.R.layout.simple_spinner_dropdown_item); spCategory.setAdapter (адаптер); spCategory.setOnItemSelectedListener (новый AdapterView.OnItemSelectedListener () {@Override общественных недействительный onItemSelected (AdapterView родитель, Вид вид, внутр позиция, длинный идентификатор) {} @Override общественный недействительный onNothingSelected (AdapterView родитель) {}}); Кнопка btnLogin = findViewById (R.id.btnLogin); btnLogin.setOnClickListener (новый вид. OnClickListener () {@Override общественных недействительный OnClick (View v) {Логин (); InputMethodManager IMM = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (etEmail.getWindowToken (), 0); Строка имя пользователя = etEmail.getText () ToString (). . Строка пароля = etPassword.getText () ToString (); если (chkMe.isChecked ()) {loginPrefsEditor.putBoolean ( "saveLogin", правда); loginPrefsEditor.putString ( "имя", имя пользователя); loginPrefsEditor.putString ( "пароль", пароль); loginPrefsEditor.apply (); } Еще {loginPrefsEditor.clear (); loginPrefsEditor.commit (); }}}); } @Override общественного недействительными onBackPressed () {AlertDialog.Builder строитель = новый AlertDialog.Builder (это); builder.setTitle ( "Выход"); builder.setMessage ( «Вы хотите выйти делать?»); builder.setPositiveButton ( "Да", новый DialogInterface.OnClickListener () {@Override общественных недействительный OnClick (DialogInterface dialogInterface, Int я) {конец ();}}); builder.setNegativeButton ( "Нет", новый DialogInterface.OnClickListener () {@Override общественных недействительный OnClick (DialogInterface dialogInterface, Int я) {dialogInterface.cancel ();}}); builder.show (); ..} Частная аннулируются Логин () {Строка имя пользователя = etEmail.getText () ToString () отделка (); .. Строка пароля = etPassword.getText () ToString () отделка (); Userlogin (имя пользователя, пароль); } Личного недействительного Userlogin (окончательное имя пользователя String, окончательная строка пароль) {класс UserLoginClass расширяющего AsyncTask {частное ProgressDialog загрузка; @Override защищен недействительный onPreExecute () {super.onPreExecute (); нагрузка = ProgressDialog.show (MainActivity.this "Войти ... Пожалуйста, подождите", пустой, правда, правда); } @Override защищен недействительный onPostExecute (String s) {super.onPostExecute (ы); loading.dismiss (); если (s.equalsIgnoreCase ( "успех")) {Намерение намерения = новый Intent (MainActivity.this, DashboardApp.class); intent.putExtra (KEY_USERNAME, имя пользователя); startActivity (намерение); } иначе {Toast.makeText (MainActivity.this, S, Toast.LENGTH_LONG) .show (); }} @Override защищены Строка doInBackground (String ... PARAMS) {Hashmap данных = новый HashMap (); data.put ( "Имя пользователя", PARAMS [0]); data.put ( "пароль", PARAMS [1]); Соединение ККО = новое соединение (); Строка результата = ruc.sendPostRequest (login_url, данные); возвращать результат; }} UserLoginClass ULC = новые UserLoginClass (); ulc.execute (имя пользователя, пароль); }} возвращать результат; }} UserLoginClass ULC = новые UserLoginClass (); ulc.execute (имя пользователя, пароль); }} возвращать результат; }} UserLoginClass ULC = новые UserLoginClass (); ulc.execute (имя пользователя, пароль); }}
Wan Dila

Просмотр дополнительных вопросов