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

Форум MySQL

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

 

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

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

тема: SQLite БД: Много вопросов, вытекающих из ответов
 
 автор: ~AquaZ~   (14.12.2009 в 17:42)   письмо автору
 
 

Здравствуйте! Помогите, пожалуйста, с SQLite:
1. Один файл - одна база, или можно создать несколько БД в одном файле?

P.S. По SQLite следует создать отдельный форум!

  Ответить  
 
 автор: Саня   (15.12.2009 в 15:18)   письмо автору
 
   для: ~AquaZ~   (14.12.2009 в 17:42)
 

> Один файл - одна база, или можно создать несколько БД в одном файле?
В одном файле может быть только одна база.

> По SQLite следует создать отдельный форум!
Не следует. Вопросы про sqlite слишком редки для создания отдельного форума.

  Ответить  
 
 автор: ~AquaZ~   (15.12.2009 в 18:32)   письмо автору
 
   для: Саня   (15.12.2009 в 15:18)
 

Спасибо.

2. Как создать таблицу?
CREATE TABLE `userlist` (
  `id` int(9) unsigned NOT NULL auto_increment,
  `login` varchar(64) character set utf8 collate utf8_unicode_ci default NULL,
  `pass` varchar(64) character set utf8 collate utf8_unicode_ci default NULL,
  `ava` blob,
  `ban_pc` tinyint(3) default '0',
  `ban_dt` datetime default '0000-00-00 00:00:00',
  `nick` varchar(64) character set utf8 collate utf8_unicode_ci default NULL,
  `email` varchar(64) NOT NULL,
  `status` int(1) default '-1',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251 PACK_KEYS=0;
Так не прокатывает -
#1: SQL logic error or missing database

  Ответить  
 
 автор: Саня   (15.12.2009 в 18:38)   письмо автору
 
   для: ~AquaZ~   (15.12.2009 в 18:32)
 

Нельзя вот так просто запрос, предназначенный для mysql, использовать в sqlite.
Прочитайте статью: http://softtime.ru/info/articlephp.php?id_article=70. Там есть пример как создать базу.

  Ответить  
 
 автор: Trianon   (15.12.2009 в 18:53)   письмо автору
 
   для: Саня   (15.12.2009 в 18:38)
 

как я понимаю, там лишь один из вариантов.
SQLite бывает третьей версии, и более старой.
С третьей версией работает, если ничего не путаю, либо библиотека, которая только в php 5.3 появилась, либо PDO-интерфейс ...
А со старой - та, что в статье.
Та что сперва нужно определиться со средой, как сервера, так и клиента.

  Ответить  
 
 автор: ~AquaZ~   (15.12.2009 в 19:21)   письмо автору
 
   для: Trianon   (15.12.2009 в 18:53)
 

PDO Driver for SQLite 3.x         enabled
PECL Module version               1.0.1 $Id: pdo_sqlite.c 272374 2008-12-31 11:17:49Z sebastian $
SQLite Library                    3.3.7undefined

  Ответить  
 
 автор: Саня   (15.12.2009 в 20:55)   письмо автору
 
   для: ~AquaZ~   (15.12.2009 в 19:21)
 

И что из перечисленного вы используете?

  Ответить  
 
 автор: ~AquaZ~   (15.12.2009 в 21:07)   письмо автору
 
   для: Саня   (15.12.2009 в 20:55)
 

А что такое ТС? =)
Как определить что я использую?
Я просто соединяюсь функцией
<? SQLite_open() ?>

  Ответить  
 
 автор: Саня   (15.12.2009 в 21:17)   письмо автору
 
   для: ~AquaZ~   (15.12.2009 в 21:07)
 

ТС = Топик Стартер = Topic Starter. Автор темы на форуме.

> Как определить что я использую?
По имени функции. Вы используете расширение, которое описано в статье.

  Ответить  
 
 автор: ~AquaZ~   (15.12.2009 в 21:22)   письмо автору
 
   для: Саня   (15.12.2009 в 21:17)
 

Чё дальше? =) Почему не работает?

  Ответить  
 
 автор: Саня   (15.12.2009 в 21:27)   письмо автору
 
   для: ~AquaZ~   (15.12.2009 в 21:22)
 

> Почему не работает?
Я уже писал об этом — sqlite не может выполнять sql-запросы, написанные для других баз. Хотя вообще-то может, но только если запросы не содержат специфичные для конкретной СУБД конструкции. Ваш запрос просто кишит специфичными конструкциями из mysql.

> Чё дальше?
Прочитать статью и получить минимальные знания синтаксиса, который воспринимает расширение php_sqlite.c.

  Ответить  
 
 автор: ~AquaZ~   (15.12.2009 в 21:32)   письмо автору
 
   для: Саня   (15.12.2009 в 21:27)
 

А чё делать-то?
Ладно, шутка.
SQL... и это называется "имеет жёсткий синтаксис"...

Спасибо, Саня! =) Тему можно закрыть.

  Ответить  
 
 автор: Саня   (15.12.2009 в 20:54)   письмо автору
 
   для: Trianon   (15.12.2009 в 18:53)
 

Да именно так. В 5.3 две библиотеки для 2 и 3 версии sqlite.
ТС показал только SQL-код. Поэтому, независимо от способа работы с sqlite, он сможет воспользоваться любым запросом из статьи.

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

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