Уважно ознайомтеся з SQL-помилкою. Часто проблема викликана, неправильним завданням типу поля. Найбільш поширені помилки:
- Використання VARCHAR без вказівки значення;
- Використання TEXT або BLOB із зазначенням розміру;
[6.2] При створенні таблиці, я клікаю прапорець Index для 2 полів - і phpMyAdmin генерує тільки один індекс з цими двома полями.
У phpMyAdmin 2.2.0 і 2.2.1, таким спосіб створюється так званий складовою індекс (з декількох полів). Якщо необхідно створити два отднльних індексу, то створюєте перший, при створенні таблиці, збережіть, потім викличте властивості таблиці і натисніть посилання "Index" для створення іншого індексу.
[6.3] Як я можу вставити значення null в свою таблицю?
Починаючи з версії 2.2.3, для кожного поля, яке може бути порожнім є свій прапорець "Null". До версії 2.2.3, необхідно було вводити "null" без лапок в якості значення поля. Починаючи з версії 2.5.5, необхідно використовувати прапорець "Null", щоб отримати дійсно значення "NULL", тобто якщо ви введете "NULL" це буде означати, що ви хочете ввести слово "NULL" в поле, але не значення (це працює з PHP4).
[6.4] Як я можу резервувати (бекапіть) свою базу даних або таблицю?
Натисніть на назві бази даних або таблиці в лівому фреймі, відобразяться їх властивості. Потім в меню клікніть "Export", ви можете створювати дамп структури, даних або дамп структури з даними. Дана дія згенерує стандартне SQL вираз, яке може бути використане для відновлення вашої бази даних / таблиці.
Для того щоб phpMyAdmin міг передати створений дамп на ваш комп'ютер, виберіть "Save as file". Залежно від конфігурації PHP, Ви будете бачити варіанти компресії дампа. Див. Також конфігураційну змінну $ cfg [ 'ExecTimeLimit']
[6.5] Як я можу відновити базу даних або таблицю за допомогою дампа? Як запустити ".sql" файл?
Натисніть на імені бази даних в лівому фреймі, відобразяться її властивості. Виберіть "Import" з переліку вкладок в правому фреймі (або "SQL" якщо у вас встановлена версія phpMyAdmin старше 2.7.0). У секції "Location of the text file", вкажіть шлях до файлу вашого дампа або використовуйте кнопку Browse. Потім клікніть Go.
З версії 2.7.0, був переписаний движок імпорту, тому якщо у вас стоїть більш рання версія, то її варто оновити, щоб скористатися новими можливостями.
[6.6] Як використовувати пов'язані таблиці в запитах за зразком?
CREATE TABLE REL_countries (country_code char (1) NOT NULL default '', description varchar (10) NOT NULL default '', PRIMARY KEY (country_code)) TYPE = MyISAM; INSERT INTO REL_countries VALUES ( 'C', 'Canada'); CREATE TABLE REL_persons (id tinyint (4) NOT NULL auto_increment, person_name varchar (32) NOT NULL default '', town_code varchar (5) default '0', country_code char (1) NOT NULL default '', PRIMARY KEY (id) ) TYPE = MyISAM; INSERT INTO REL_persons VALUES (11, 'Marc', 'S', ''); INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C'); CREATE TABLE REL_towns (town_code varchar (5) NOT NULL default '0', description varchar (30) NOT NULL default '', PRIMARY KEY (town_code)) TYPE = MyISAM; INSERT INTO REL_towns VALUES ( 'S', 'Sherbrooke'); INSERT INTO REL_towns VALUES ( 'M', 'Montr? Al');
Як приклад використовуємо таблиці persons, towns і countries, всі вони розташовані в БД mydb. Якщо таблиця pma_relation ще не створена, то створіть її так, як описано в секції "Конфігурація". Потім створіть таблиці, які ми використовуємо в якості прикладу:
Див. Також FAQ 6.21 для ознайомлення з додатковими можливостями, які надає "display field": список, що випадає можливих значень.
[6.8] Як створити PDF схему моєї бази даних?Для початку, конфігураційні змінні "relation", "table_coords" і "pdf_pages" повинні бути заповнені. Потім, Ви повинні продумати макет вашої схеми. Які таблиці будуть представлені на схемі?
- Виберіть вашу базу даних в лівому фреймі
- Виберіть "Operations" з навігаційній панелі у верхній частині.
- Виберіть "Edit PDF Pages" в нижній частині сторінки.
- Введіть ім'я для першої PDF сторінки і натисніть Go. Якщо вам подобається, Ви можете використовувати "automatic layout," яке помістить всі ваші пов'язані таблиці на нову сторінку.
- Виберіть ім'я нової сторінки (переконайтеся що селектор "Edit" обраний) і клікайте Go.
- Виберіть таблицю зі списку, введіть її координати і натисніть Save.
[6.10] Що відбувається з нижнім підкресленням в назві бази даних при створенні привілеїв?
Якщо ви не ставили зворотні слеші перед нижніми підкресленнями, це є груповим символом надання, і в цьому випадку нижнє підкреслення означає "будь-які символи". Таким чином, якщо ім'я бази даних "john_db", користувач отримає права на john1db, john2db.
Якщо ж перед нижніми підкресленнями стоять зворотні слеші, це означає що ім'я бази даних дійсно містить символ нижнього підкреслення.
[6.11] Що за незвичайний символ. на сторінках статистики (statistics pages)?
Він позначає середнє значення ( "average").
[6.14] Як налаштувати SQL Validator?
Щоб використовувати його, вам потрібна версія PHP не молодше 4.3.0, з підтримкою XML, PCRE і PEAR. У командному рядку запустіть "pear install Net_Socket Net_URL HTTP_Request Mail_Mime Net_DIME SOAP" щоб отримати необхідні PEAR модулі.
У свіжій версії pear, є проблема з режимом в Net_DIME, яка вирішується єдиною командою "pear -d preferred_state = beta install -a SOAP". яка встановлює всі необхідні модулі.
Якщо ви використовуєте валідатор, Ви повинні бути впевнені, що будь-який відправляється SQL оператор буде збережений анонімно (імена БД / таблиць / стовпців, записи, значення заміщені загальними значеннями). Власне в phpMyAdmin використовується клас Mimer SQL Validator, який позиціонується як "free SOAP service".
[6.15] Я хочу додати поле BLOB і зробити його індексом, але MySQL повідомляє "BLOB column '.' Used in key specification without a key length".
Правильним рішенням буде створення поля без індексів, потім відобразити структуру таблиці і використовувати діалог "Створення індексу (Create an index)". На цій сторінці Ви зможете вибрати BLOB-поле, і встановити розмір індексу, що є необхідною умовою створення індексу для BLOB поля.
[6.16] Як найефективніше переміщатися по сторінках, що містить безліч полів редагування?
Ви можете використовувати комбінації клавіш Ctrl + arrows (Option + Arrows в Safari) для переміщення по більшості сторінок, що містять безліч редагованих полів (зміна структури таблиці, редагування рядків, і т.д.). Дана опція повинна бути дозволена в конфігурації - см. $ Cfg [ 'CtrlArrowsMoving']). Рекомендується також звернути увагу на директиву $ cfg [ 'DefaultPropDisplay'] ( 'vertical'). вона може зробити редагування більш комфортним.
[6.18] Закладки (Bookmarks): Де я можу зберігати закладки? Чому я не можу бачити деякі закладки нижче вікна запитів? Що є змінною?
Будь виконаний запит може бути збережений як закладка на сторінці, де відображаються результати за допомогою кнопки 'Bookmark this query' (зробити закладку на цей запит) в нижній частині сторінки.
При збереженні закладка зв'язується з базою даних, на якій запускається даний запит. Тепер можна отримати доступ до закладки за допомогою списку на кожній сторінці, блок запитів з'являється для активної бази даних.
Починаючи з phpMyAdmin 2.5.0 Ви також можете зберігати змінні для закладок. Для цього слід використовувати рядок / * [VARIABLE] * / де-небудь у вашому запиті. Все що поміщено в значення блоку введення на сторінці блоку запиту замінить рядок "/ * [VARIABLE] * /" в вашому збереженому запиті. Переконайтеся, що створений запит валиден, інакше Ваш клопотання не буде збережений в базі даних.
Також пам'ятайте, що все інше всередині рядка / * [VARIABLE] * / залишиться у Вашому запиті, але буде звільнена від символів / ** /. Таким чином, можна використовувати:
/ *, [VARIABLE] AS myname * / яка буде приведена до. VARIABLE as myname
в запиті, де VARIABLE це рядок, веденная в блоці введення. Якщо рядок порожня ніякого заміщення проведено не буде.
Більш складний приклад. Припустимо, Ви зберігаєте цей запит:
SELECT Name, Address FROM addresses WHERE 1 / * AND Name LIKE '% [VARIABLE]%' * /
Скажімо, тепер Ви введете "phpMyAdmin" як назва змінної для зберігається запиту, повний запит буде виглядати:
SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '% phpMyAdmin%'
Ви можете неодноразово використовувати / * [VARIABLE] * / в окремому рядку. ЗВЕРНІТЬ УВАГУ НА відсутність пробілів у конструкції "/ ** /". Будь-які прогалини, вставлені там пізніше будуть виставлені як прогалини у вашому запиті і можуть привести до небажаних результатів, особливо, в разі використання в вираженні "LIKE".
Запит, який повинен бути збережений в ятати обов'язково повинен повертати хоча б один рядок.
[6.19] Як я можу створити простий LaTeX документ щоб включити експортовану таблицю?
Ви можете просто включити таблицю в Ваш LaTeX документ, мінімальний типовий документ може виглядати як показано нижче (мається на увазі, що ви маєте таблицю, експортовану в файл table.tex):
\ Documentclass% або інший клас, який Ви задасте
\ Usepackage% для відображення таблиці
\ Begin% початок документа
\ include