Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужен совет
 
 автор: Ovosh_1   (09.12.2008 в 21:29)   письмо автору
 
 

Здравствуйте всем! Столкнулся с проблемой кодировки, у меня на машине стоит apache_2.0.50-win32-x86-no_ssl, php-5.0 и mySQL 4.1.
Делал сайтец другу у него apache_2.0.69-win32-x86, php5 и MySQL 5.0. Дело в том что когда передал ему все исходники у него не работало на сайте ничего. Хотя у меня все прекрасно работает, админка на сайте не пашет просто тупо не вставляет записи в таблицы, он ради интереса поставил себе MySQL 4.1 (ну как и у меня) и все за пахало. В чем может быть дело???
не из за версий ли MySQL-а это или все же из за кодировки???
Заранее спасибо!

  Ответить  
 
 автор: elenaki   (10.12.2008 в 09:02)   письмо автору
 
   для: Ovosh_1   (09.12.2008 в 21:29)
 

а как вы базу передали? дампом? или файлы из папки MySQL/data/...? если файлами, то понятно,
из-за несоответствия версий и не работало. он хоть проверил наличие бази и данных в ней?
и потом - "тупо не работало" это не описание ошибки. какую ошибку выдала MySQL?

  Ответить  
 
 автор: Ovosh   (10.12.2008 в 10:24)   письмо автору
 
   для: elenaki   (10.12.2008 в 09:02)
 

Передал ввиде исходного текста, ну как сам вбивал вот код:


use malika;
create table gallery_foto (
foto_id int not null auto_increment primary key,
foto_url varchar(120)
) type=InnoDB;

create table assortiment_foto (
assor_foto int not null auto_increment primary key,
assor_foto_url varchar(120)
) type=InnoDB;

create table classes (
class_id int not null auto_increment primary key,
class_name varchar(50)
) type=InnoDB;

create table country (
country_id int not null auto_increment primary key,
country_name varchar(40),
telefon_zakaz varchar(20),
country_address varchar(150),
other_telefon varchar(20),
map_url varchar(120)
) type=InnoDB;

create table entity (
entity_id int not null auto_increment PRIMARY key,
country_id int not null,
foto_id int not null,
Foreign key (country_id) references country(country_id),
Foreign key (foto_id) references gallery_foto(foto_id)
) type=InnoDB;

create table assortiment (
assortiment_id int not null auto_increment primary key,
assortiment_name varchar(100),
assor_foto int not null,
assortiment_netto varchar(15),
assortiment_price int(7),
assortiment_opis varchar(255),
class_id int not null,
country_id int not null,
Foreign key (assor_foto) references assortiment_foto(assor_foto),
Foreign KEY (class_id) references classes(class_id),
Foreign key (country_id) references country(country_id)

) type=InnoDB;


create table vineclass (
vine_class_id int not null auto_increment primary key,
vine_class_name varchar(50)
) type=InnoDB;

create table vinemap (
vine_id int not null auto_increment primary key,
vine_name varchar(90),
vine_price int,
vine_netto varchar(20),
vine_class_id int not null,
country_id int not null,
foreign key (vine_class_id) references vineclass(vine_class_id),
foreign key (country_id) references country(country_id)
) type=InnoDB;

  Ответить  
 
 автор: Ovosh   (10.12.2008 в 10:29)   письмо автору
 
   для: elenaki   (10.12.2008 в 09:02)
 

Мтак! Я понял почему не работает, у меня стояла версия 4.1 щя поставил себе 5.0.69
Сделал простую таблицу:

create table some (
some_id int not null auto_increment primary key,
some_num int

) type=InnoDB;

потом попытался записать в нее значение так:

insert into some values ('',1);

Н записывает, старнно как то . И так не записывает:

insert into some values (1);
a только так:
insert into some values (1,2);

Такое чувство как будто б поле some_id не auto_increment

  Ответить  
 
 автор: Valick   (10.12.2008 в 10:40)   письмо автору
 
   для: Ovosh   (10.12.2008 в 10:29)
 

а чем вызвано применение InnoDB таблиц?
http://www.mysql.ru/docs/man/SEC471.html

  Ответить  
 
 автор: Ovosh   (10.12.2008 в 10:48)   письмо автору
 
   для: Valick   (10.12.2008 в 10:40)
 

>а чем вызвано применение InnoDB таблиц?

Ну незнаю) В книгах написано что транзакций поддерживают, книги наверно старые у меня)

  Ответить  
 
 автор: Valick   (10.12.2008 в 10:40)   письмо автору
 
   для: Ovosh   (10.12.2008 в 10:29)
 

-

  Ответить  
 
 автор: Ovosh   (10.12.2008 в 10:43)   письмо автору
 
   для: Valick   (10.12.2008 в 10:40)
 

Все спасибо!!! Разобрался!
Такая темка оказываеться:
В MySQL 4.1 когда вводим значения в строки где есть поле типа auto_increment не обязательно указываеть его в операторе insert
А вот в MySQL 5+ на это пустое место нужно вставлять NULL!!!

  Ответить  
 
 автор: Trianon   (10.12.2008 в 13:48)   письмо автору
 
   для: Ovosh   (10.12.2008 в 10:29)
 

При чем тут автоинкремент?
У Вас число столбцов не совпадает с чилом значений.
Укажите явные столбцы в списке полей - будет проходить.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования