Результаты поиска для 'AUTO_INCREMENT'
-
function my_install(){ global $wpdb; $tableName = $wpdb->prefix . 'my_table'; if($wpdb->get_var("SHOW TABLE LIKE '$tableName'") != $tableName){ $sql = "CREATE TABLE" . $tableName . "( id int NOT NULL AUTO_INCREMENT, admin_comment TEXT, alter_title TEXT, PRIMARY KEY (id) );"; $wpdb->query($sql); } } register_activation_hook(__FILE__, 'my_install');Разместил этот код в /wp-content/plugins/my_plagin/my_plugin.php.
Таблица не создаётся
Что я делаю не так ?Форум: Проблемы и решения
Тема: Создание новой таблицы$tables['sources'] = "CREATE TABLE " . $wpdb->prefix . "sources ( id int(9) NOT NULL AUTO_INCREMENT, source_url varchar(64), source_title varchar(64), PRIMARY KEY id (id) ) DEFAULT CHARSET=utf8;";Форум: Проблемы и решения
Тема: Как залить содержимое сайта?Я нашёл один подобный файл…текстовый
Вот его начало «— phpMyAdmin SQL Dump
— version 3.5.5
— http://www.phpmyadmin.net
—
— Хост: db4.unlim.com
— Время создания: Апр 02 2013 г., 12:18
— Версия сервера: 5.1.68-cll
— Версия PHP: 5.3.17SET SQL_MODE=»NO_AUTO_VALUE_ON_ZERO»;
SET time_zone = «+00:00»;/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;—
— База данных:u6283_arygraph
—— ———————————————————
—
— Структура таблицыwp_commentmeta
—CREATE TABLE IF NOT EXISTS
wp_commentmeta(
meta_idbigint(20) unsigned NOT NULL AUTO_INCREMENT,
comment_idbigint(20) unsigned NOT NULL DEFAULT ‘0’,
meta_keyvarchar(255) DEFAULT NULL,
meta_valuelongtext,
PRIMARY KEY (meta_id),
KEYcomment_id(comment_id),
KEYmeta_key(meta_key)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;— ———————————————————
—
— Структура таблицыwp_comments
—CREATE TABLE IF NOT EXISTS
wp_comments(
comment_IDbigint(20)»Попытался его импортнуть, но мне пишет:
Sorry, there has been an error.
This does not appear to be a WXR file, missing/invalid WXR version numberПопробую предположить, что максимальный ID¹ (ведь логично, что по значению
11 > 9) из предложенного списка есть эквивалент последней созданной (но не активной, в плане последнего поста) рубрики.
В эту сторону надо копать, надо выбирать максимальный ID рубрики из массива дочерних рубрик и с ним работать.[1] Потому как в БД работает auto_increment )))
Форум: WordPress Multisite
Тема: Как изменить ID блог-сайтасмотрите в гугле «Как сбросить счетчик AUTO_INCREMENT»
How to reset AUTO_INCREMENTФорум: Проблемы и решения
Тема: Помогите с базойУдалил команду CREATE DATABASE
Опять ошибка— ———————————————————
—
— Структура таблицыwp_commentmeta
—
CREATE TABLE IF NOT EXISTSwp_commentmeta(
meta_idbigint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
comment_idbigint( 20 ) unsigned NOT NULL DEFAULT ‘0’,
meta_keyvarchar( 255 ) DEFAULT NULL ,
meta_valuelongtext,
PRIMARY KEY (meta_id) ,
KEYcomment_id(comment_id) ,
KEYmeta_key(meta_key)
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =11;Ответ MySQL:
#1046 — No database selectedИтак, проанализировала разные бэкапы в Notepad++. Отчитываюсь 🙂
Бэкап, по которому восстанавливали был без значков с вопросами. Нашла другой бэкап от 24 мая, он со значками. Вывод — могут бэкапы и со значками создаваться. Но откат на 24 мая не устраивает. В моем случае самое простое решение исправить руками, так как много изменений было, плагины доставляла, форум, бади пресс и т.д. Исправила все записи руками (благо их пока немного). Вот только на будущее хотелось бы найти решение, чтобы каждый раз руками не править.
После исправления посмотрела в PMA — записи правильные. Создала бэкап плагином WordPress Database Backup и через cPanel. Вот что получилось.
Бэкап плагина сохраняет записи со значками, да и сами записи удобно структурируются по строчке на запись. Вот, например, структура таблицы:
CREATE TABLE <code>wp_commentmeta</code> ( <code>meta_id</code> bigint(20) unsigned NOT NULL auto_increment, <code>comment_id</code> bigint(20) unsigned NOT NULL default '0', <code>meta_key</code> varchar(255) default NULL, <code>meta_value</code> longtext, PRIMARY KEY (<code>meta_id</code>), KEY <code>comment_id</code> (<code>comment_id</code>), KEY <code>meta_key</code> (<code>meta_key</code>) ) ENGINE=MyISAM AUTO_INCREMENT=52 DEFAULT CHARSET=utf8 ;Нет только слов IF NOT EXISTS.
С другой стороны, в бэкапе, созданном плагином нет ничего похожего на/*!40101 SET NAMES utf8 */;Бэкап, созданный Мастером резервного копирования из cPanel содержит все записи (включая страницы, активность, документы, созданные плагином для бадипресс и т.д.) в одну строку. Все записи без значков, с вопросами. Однако в этом бэкапе есть строка
/*!40101 SET NAMES utf8 */;
Вот, например, как выглядит таблица:DROP TABLE IF EXISTS <code>wp_commentmeta</code>; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE <code>wp_commentmeta</code> ( <code>meta_id</code> bigint(20) unsigned NOT NULL auto_increment, <code>comment_id</code> bigint(20) unsigned NOT NULL default '0', <code>meta_key</code> varchar(255) default NULL, <code>meta_value</code> longtext, PRIMARY KEY (<code>meta_id</code>), KEY <code>comment_id</code> (<code>comment_id</code>), KEY <code>meta_key</code> (<code>meta_key</code>) ) ENGINE=MyISAM AUTO_INCREMENT=52 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */;Также в начале бэкапфайла есть такой раздел:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES cp1251 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;В общем, жду ваш вердикт на тему «Как предохраняться от замены аксанов на вопросы». Также, скажите, пожалуйста, чем чревато отсутствие строки
/*!40101 SET NAMES utf8 */;Форум: Проблемы и решения
Тема: WordPress database errorПопробуй создать эту таблицу, вероятно что то не получилось у mysql-аккаунта который использует wordpress, проверь права
CREATE TABLE
wp_wpsc_product_list(
idbigint(20) unsigned NOT NULL AUTO_INCREMENT,
nametext NOT NULL,
descriptionlongtext NOT NULL,
additional_descriptionlongtext NOT NULL,
pricedecimal(11,2) NOT NULL DEFAULT ‘0.00’,
weightfloat NOT NULL DEFAULT ‘0’,
weight_unitvarchar(10) NOT NULL DEFAULT »,
pnpdecimal(11,2) NOT NULL DEFAULT ‘0.00’,
international_pnpdecimal(11,2) NOT NULL DEFAULT ‘0.00’,
filebigint(20) unsigned NOT NULL DEFAULT ‘0’,
imagebigint(20) unsigned DEFAULT NULL,
quantity_limitedvarchar(1) NOT NULL DEFAULT »,
quantityint(10) unsigned NOT NULL DEFAULT ‘0’,
specialvarchar(1) NOT NULL DEFAULT ‘0’,
special_pricedecimal(11,2) NOT NULL DEFAULT ‘0.00’,
display_frontpagevarchar(1) NOT NULL DEFAULT ‘0’,
notaxvarchar(1) NOT NULL DEFAULT ‘0’,
publishvarchar(1) NOT NULL DEFAULT ‘1’,
activevarchar(1) NOT NULL DEFAULT ‘1’,
donationvarchar(1) NOT NULL DEFAULT ‘0’,
no_shippingvarchar(1) NOT NULL DEFAULT ‘0’,
thumbnail_imagetext,
thumbnail_stateint(11) NOT NULL DEFAULT ‘0’,
date_addedtimestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8Форум: Проблемы и решения
Тема: Проблемы с БДа там вроде все нормально. вот опять попробовала данные в другую базу залить выдает
CREATE TABLE IF NOT EXISTSwp_commentmeta(
meta_idbigint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
comment_idbigint( 20 ) unsigned NOT NULL DEFAULT ‘0’,
meta_keyvarchar( 255 ) DEFAULT NULL ,
meta_valuelongtext,
PRIMARY KEY (meta_id) ,
KEYcomment_id(comment_id) ,
KEYmeta_key(meta_key)
) ENGINE = MYISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT =3;А я в этом всем, если не чайник, то кофейник точно.
Форум: Проблемы и решения
Тема: Не появляется новая таблица в БДправильно.. if(empty($ppbv_table)) не помогает..
действительно, более полный код:global $wpdb; // вызываем глобальные переменные для работы с функцией $ppbv_tablename = $wpdb->prefix.'popular_by_views'; // совмещаем префикс и название таблицы function ppbv_create_table(){ global $wpdb, $ppbv_tablename; // называя global, мы можем использовать эти переменные в функции $ppbv_table = $wpdb->get_results("SHOW TABLES LIKE '{$ppbv_tablename}'" , ARRAY_N); // если нет результатов, возвращает ноль if(empty($ppbv_table)){ // если таблиц нет, то: $create_table_sql = "CREATE TABLE {$ppbv_tablename} ( id BIGINT(50) NOT NULL AUTO_INCREMENT, post_id VARCHAR(255) NOT NULL, views BIGINT(50) NOT NULL, PRIMARY KEY (id), UNIQUE (id) );"; // осторожнее с SQL-синтаксисом, он очень чувствителен) $wpdb->query($create_table_sql); // запускаем SQL запрос к БД } } register_activation_hook(__FILE__,'ppbv_create_table'); // запуск функции 'ppbv_create_table' во время активации плагина function ppbv_page_viewed(){ if(is_single() && !is_page()){ // только при запуске постов, а не страниц блога global $wpdb, $post, $ppbv_tablename; // вызываем глобальные переменные для работы с функцией в функции $wpdb->flush(); // очищает буфер БД $data = $wpdb->get_row("SELECT * FROM {$ppbv_tablename} WHERE post_id='{$post->ID}'", ARRAY_A); // проверяет данные из столбца, который содержит post ID if(!is_null($data)){ // если ячейка с данными есть $new_views = $data['views'] + 1; // увеличиваем количество просмотров на 1 $wpdb->query("UPDATE {$ppbv_tablename} SET views='{$new_views}' WHERE post_id='{$post->ID}';"); // обновляем данные с учётом нового просмотра $wpdb->flush(); // очищает буфер БД } else { // если ещё нет ячейки с данными (тоесть, пока ни одного просмотра) $wpdb->query("INSERT INTO {$ppbv_tablename} (post_id, views) VALUES ('{$post->ID}','1');"); // добавляем ячейку , отсчёт просмотров начинаетсяс 1 $wpdb->flush(); // очищает буфер БД } } } add_action('wp_head','ppbv_page_viewed'); // добавляет ppbv_page_viewed к wp_head-счётчикуэто код плагина, который я хочу сделать не-плагином
ну а весь код:
ifolder.ru/20860440
еще возможно что таблица в базе данных не создастся автоматом, поэтому потребуется зайти в phpMyAdmin в бд твоего блога и выполнить такой SQL-запрос
CREATE TABLE
wp_linkclicks(
link_idINT NOT NULL AUTO_INCREMENT ,
link_urlTEXT NOT NULL ,
link_clicksINT NOT NULL ,
link_dateDATETIME NOT NULL ,
link_titleTEXT NOT NULL ,
UNIQUE (
link_id
)
);этот запрос создаст таблицу в базе данных и в нее будет заносится вся информация о кликах на ссылках
где можно почитать про порядок назначения ID страницам в WP
В любой доке на mySql в части атрибута auto_increment. В таблицу posts попадают посты, стат.страницы, их ревизии и аттачи.
и что из себя представляют ярлыки?
Ярлыки (слаги, slag) представляют собой прошедшие «санитарную» обработку названия (титлы) сущностей (постов, стат.страниц, рубрик, меток). Обработка заключается в удалении недопустимых в URL символов. Если установлен плагин транслитерации (rus-to-lat, cyr2lat), то русские буквы будут транслитерированы вместо обработки urlencode. Слаги используются движком для обработки «красивых» ссылок (ЧПУ).
Форум: Проблемы и решения
Тема: Комбинированый тип данных в таблицеНу вот это уже ближе к теме )
Скажу что AUTO_INCREMENT я уже отключал,
но только без снятия UNSIGNED толку не было (
Спасибо.Форум: Проблемы и решения
Тема: Комбинированый тип данных в таблицеТип данных можно поменять, например, на VARCHAR, если убрать атрибуты UNSIGNED и AUTO_INCREMENT, имеющие смысл только для числовых данных.
Форум: Проблемы и решения
Тема: Не могу одобрять комментарииВсе исправили
Проблема была в базе данныхПосле переноса стало
AUTO_INCREMENT=274877907701Вместо AUTO_INCREMENT=678
админ поменял и заработало