Результаты поиска для '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_id
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
comment_id
bigint(20) unsigned NOT NULL DEFAULT ‘0’,
meta_key
varchar(255) DEFAULT NULL,
meta_value
longtext,
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_ID
bigint(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_id
bigint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
comment_id
bigint( 20 ) unsigned NOT NULL DEFAULT ‘0’,
meta_key
varchar( 255 ) DEFAULT NULL ,
meta_value
longtext,
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
(
id
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
name
text NOT NULL,
description
longtext NOT NULL,
additional_description
longtext NOT NULL,
price
decimal(11,2) NOT NULL DEFAULT ‘0.00’,
weight
float NOT NULL DEFAULT ‘0’,
weight_unit
varchar(10) NOT NULL DEFAULT »,
pnp
decimal(11,2) NOT NULL DEFAULT ‘0.00’,
international_pnp
decimal(11,2) NOT NULL DEFAULT ‘0.00’,
file
bigint(20) unsigned NOT NULL DEFAULT ‘0’,
image
bigint(20) unsigned DEFAULT NULL,
quantity_limited
varchar(1) NOT NULL DEFAULT »,
quantity
int(10) unsigned NOT NULL DEFAULT ‘0’,
special
varchar(1) NOT NULL DEFAULT ‘0’,
special_price
decimal(11,2) NOT NULL DEFAULT ‘0.00’,
display_frontpage
varchar(1) NOT NULL DEFAULT ‘0’,
notax
varchar(1) NOT NULL DEFAULT ‘0’,
publish
varchar(1) NOT NULL DEFAULT ‘1’,
active
varchar(1) NOT NULL DEFAULT ‘1’,
donation
varchar(1) NOT NULL DEFAULT ‘0’,
no_shipping
varchar(1) NOT NULL DEFAULT ‘0’,
thumbnail_image
text,
thumbnail_state
int(11) NOT NULL DEFAULT ‘0’,
date_added
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) ENGINE=MyISAM DEFAULT CHARSET=utf8Форум: Проблемы и решения
Тема: Проблемы с БДа там вроде все нормально. вот опять попробовала данные в другую базу залить выдает
CREATE TABLE IF NOT EXISTSwp_commentmeta
(
meta_id
bigint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
comment_id
bigint( 20 ) unsigned NOT NULL DEFAULT ‘0’,
meta_key
varchar( 255 ) DEFAULT NULL ,
meta_value
longtext,
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_id
INT NOT NULL AUTO_INCREMENT ,
link_url
TEXT NOT NULL ,
link_clicks
INT NOT NULL ,
link_date
DATETIME NOT NULL ,
link_title
TEXT 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
админ поменял и заработало