Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Импорт в базу. Косяк с review_id


Гість

Recommended Posts

Парни всем привет. В общем галиматья какая то с импортом у меня, значит иды я генирирую, и они не порядковые

SET 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 utf8mb4 */;

CREATE TABLE IF NOT EXISTS `review` (
  `review_id` int(11) NOT NULL,
  `product_id` int(11) NOT NULL,
  `customer_id` int(11) NOT NULL,
  `author` varchar(64) NOT NULL,
  `text` text NOT NULL,
  `addimage` text NOT NULL,
  `html_status` tinyint(1) NOT NULL,
  `purchased` tinyint(1) NOT NULL,
  `answer` text NOT NULL,
  `bads` text NOT NULL,
  `good` text NOT NULL,
  `rating` int(1) NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '0',
  `date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

INSERT INTO `review` (`review_id`, `product_id`, `customer_id`, `author`, `text`, `addimage`, `html_status`, `purchased`, `answer`, `bads`, `good`, `rating`, `status`, `date_added`, `date_modified`) VALUES
(211865741549, 2, 0, 'Чистяков Андрей', 'Хорошая встроенная система, установил под телевизор в качестве подставки, её теперь не заметно вообще. Подключил по блютусу к телевизору той же марки, теперь работает без проблем и без проводов. Звук конечно далёк от показателей мощности 5.1, но в наших условиях с маленьким помещением самое то. По сравнению со встроенным звуком - разница очевидна, звук более детальный, даже есть бас (при условии то что это плоский девайс). Ну и конечно хотелось отметить цену - она не адекватна. Мне это произведение корейской инженерной мысли досталось в подарок от сотрудников - сам бы за эти деньги не купил.', '', 0, 0, '', 'Цена', 'Размер, Подключение, Звук', 5, 1, '2014-12-11 00:00:00', '2014-12-11 00:00:00'),
(489270291823, 2, 0, 'Третьяков Владимир', 'Встроенная акустика телевизора не устраивала. Давно искал похожую модель. Подставка отлично подружилась с телевизором Philips. Подключил через HDMI ARC. Пульты от телевизора и подставки взаимозаменяемо работают. Подставка автоматически включается вместе с ТВ без лишних манипуляций. Купил за 6 т.р., покупкой очень доволен.', '', 0, 0, '', 'Все устраивает.', 'Звук отличный, эффект присутствия имеется. Внешний вид также на 5+, ТВ и приставка выглядят как единое целое, монолитное.', 5, 1, '2015-01-4 00:00:00', '2015-01-4 00:00:00');

ALTER TABLE `review`
  ADD PRIMARY KEY (`review_id`),
  ADD KEY `product_id` (`product_id`);

ALTER TABLE `review`
  MODIFY `review_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=0;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

 

После импорта пхпмиадмин ругнулся на дубликаты идов

db7e8-clip-49kb.png?nocache=1

 

Отзывы то импортируются только с одним значением для всех идов

SET 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 utf8mb4 */;

CREATE TABLE IF NOT EXISTS `review` (
  `review_id` int(11) NOT NULL,
  `product_id` int(11) NOT NULL,
  `customer_id` int(11) NOT NULL,
  `author` varchar(64) NOT NULL,
  `text` text NOT NULL,
  `addimage` text NOT NULL,
  `html_status` tinyint(1) NOT NULL,
  `purchased` tinyint(1) NOT NULL,
  `answer` text NOT NULL,
  `bads` text NOT NULL,
  `good` text NOT NULL,
  `rating` int(1) NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '0',
  `date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `review` (`review_id`, `product_id`, `customer_id`, `author`, `text`, `addimage`, `html_status`, `purchased`, `answer`, `bads`, `good`, `rating`, `status`, `date_added`, `date_modified`) VALUES
(2147483647, 2, 0, 'Чистяков Андрей', 'Хорошая встроенная система, установил под телевизор в качестве подставки, её теперь не заметно вообще. Подключил по блютусу к телевизору той же марки, теперь работает без проблем и без проводов. Звук конечно далёк от показателей мощности 5.1, но в наших условиях с маленьким помещением самое то. По сравнению со встроенным звуком - разница очевидна, звук более детальный, даже есть бас (при условии то что это плоский девайс). Ну и конечно хотелось отметить цену - она не адекватна. Мне это произведение корейской инженерной мысли досталось в подарок от сотрудников - сам бы за эти деньги не купил.', '', 0, 0, '', 'Цена', 'Размер, Подключение, Звук', 5, 1, '2014-12-11 00:00:00', '2014-12-11 00:00:00'),
(2147483647, 2, 0, 'Третьяков Владимир', 'Встроенная акустика телевизора не устраивала. Давно искал похожую модель. Подставка отлично подружилась с телевизором Philips. Подключил через HDMI ARC. Пульты от телевизора и подставки взаимозаменяемо работают. Подставка автоматически включается вместе с ТВ без лишних манипуляций. Купил за 6 т.р., покупкой очень доволен.', '', 0, 0, '', 'Все устраивает.', 'Звук отличный, эффект присутствия имеется. Внешний вид также на 5+, ТВ и приставка выглядят как единое целое, монолитное.', 5, 1, '2015-01-04 00:00:00', '2015-01-04 00:00:00');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

 

В чем мой косяк? где я оступился? Сильно не разбираюсь, прошу не пинать))

Надіслати
Поділитися на інших сайтах

1. В таблице поле review_id должно быть PRIMARY KEY со свойством AUTO_INCREMENT - вот так:

CREATE TABLE IF NOT EXISTS `review` (

`review_id` int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,

`product_id` int(11) NOT NULL,

`customer_id` int(11) NOT NULL,

`author` varchar(64) NOT NULL,

`text` text NOT NULL,

`addimage` text NOT NULL,

`html_status` tinyint(1) NOT NULL,

`purchased` tinyint(1) NOT NULL,

`answer` text NOT NULL,

`bads` text NOT NULL,

`good` text NOT NULL,

`rating` int(1) NOT NULL,

`status` tinyint(1) NOT NULL DEFAULT '0',

`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

`date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2. Не передавайте значения review_id - тогда они сгенерируются базой и будут порядковыми, вот так:

INSERT INTO `review` (`product_id`, `customer_id`, `author`, `text`, `addimage`, `html_status`, `purchased`, `answer`, `bads`, `good`, `rating`, `status`, `date_added`, `date_modified`) VALUES

(2, 0, 'Чистяков Андрей', 'Хорошая встроенная система, установил под телевизор в качестве подставки, её теперь не заметно вообще. Подключил по блютусу к телевизору той же марки, теперь работает без проблем и без проводов. Звук конечно далёк от показателей мощности 5.1, но в наших условиях с маленьким помещением самое то. По сравнению со встроенным звуком - разница очевидна, звук более детальный, даже есть бас (при условии то что это плоский девайс). Ну и конечно хотелось отметить цену - она не адекватна. Мне это произведение корейской инженерной мысли досталось в подарок от сотрудников - сам бы за эти деньги не купил.', '', 0, 0, '', 'Цена', 'Размер, Подключение, Звук', 5, 1, '2014-12-11 00:00:00', '2014-12-11 00:00:00'),

Змінено користувачем IgorETF
  • +1 1
Надіслати
Поділитися на інших сайтах


1. В таблице поле review_id должно быть PRIMARY KEY со свойством AUTO_INCREMENT - вот так:

CREATE TABLE IF NOT EXISTS `review` (

`review_id` int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,

`product_id` int(11) NOT NULL,

`customer_id` int(11) NOT NULL,

`author` varchar(64) NOT NULL,

`text` text NOT NULL,

`addimage` text NOT NULL,

`html_status` tinyint(1) NOT NULL,

`purchased` tinyint(1) NOT NULL,

`answer` text NOT NULL,

`bads` text NOT NULL,

`good` text NOT NULL,

`rating` int(1) NOT NULL,

`status` tinyint(1) NOT NULL DEFAULT '0',

`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

`date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

с ауто инкриметом уже пробовал, без разницы что с ним, что без него. второй пункт не понял если честно

Змінено користувачем Гість
Надіслати
Поділитися на інших сайтах

второй пункт понял, и попробовал. во первых ни чего не импортируется и куча ошибок http://c2n.me/3DHttPg во вторых мне нужны именно те иды которые я сгенерировал, порядковые мне не нужны

Надіслати
Поділитися на інших сайтах

 

 

во вторых мне нужны именно те иды которые я сгенерировал, порядковые мне не нужны

Они не могут быть повторяющимися - в штатной таблице review поле review_id - PRIMARY KEY (первичный ключ, то есть УНИКАЛЬНЫЙ индекс). А Ваш первый блок CREATE TABLE просто ничего не делает, потому что IF NOT EXISTS и префикс базы у Вас пустой (если таблица уже есть, этот блок игнорируется). А если префикс не пустой, то новая таблица нигде не будет отображаться.

 

К тому же - зачем им повторяться?

 

Ошибки же у Вас - от проблем с кодировкой, у Вас текст видится как CP1252, а этого не может быть - скорее всего он у Вас CP1251 (в CP1252 нет русских символов).

Змінено користувачем IgorETF
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

11.

но это отдельный вопрос.

по теме:

1. не надо "генерировать галиматью не порядковую".

2. google + google.translate давно бы дали понимание, что тебе на "галиматью" отвечает mysql.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.