YJ wrote:
> "Bent Stigsen" <ngap@thevoid.dk> wrote in message
> news:4478d8ad$0$47078$edfadb0f@dread15.news.tele.dk...
>> YJ wrote:
[snip]
>>> $dbh->query($db, 'CREATE TABLE foo (bar varchar(10))');
Havde jeg ikke lige set. Parameter $db skal ikke være der.
$dbh->query('CREATE TABLE foo (bar varchar(10))');
http://www.php.net/manual/en/function.pdo-query.php
>> sqlite kender ikke "varchar", men bruger bare "text" uden angivelse af
>> størrelse.
>
> Det er jeg ikke sikker på.
Nej, den ved vitterlig ikke hvad varchar er. I SQLite version 2 er alt
text, uanset hvad du skriver. SQLite version 3 har flere storage
classes og vil kun evt. bruge det som et hint til hvordan den skal
behandle det du nu smider efter den.
Når du får det hele til at virke, kan du prøve sådan noget som:
create table foo1 ( bar int );
insert into foo1(bar) values('en tekst');
select * from foo1;
create table foo2 ( bar varchar(5) );
insert into foo2(bar) values('mere end 5 chars');
select * from foo2;
create table foo3 ( bar fnools );
insert into foo3(bar) values(123);
select * from foo3;
se også:
http://www.sqlite.org/datatype3.html
> Eksemplet er fra php.net og zend.com og her er et udsnit af en DB:
>
> ** This file contains an SQLite 2.1 database ** (uãÚ W . Ð. .
> . . ì
> . Ò ? ......Òtable groupes groupes 8 CREATE TABLE groupes (
> groupe_id INTEGER PRIMARY KEY, groupe_name VARCHAR(50), properties TINYINT ,
> execSQL TINYINT , data TINYINT , export TINYINT , empty TINYINT , del
> TINYINT )
Ja, SQLite gemmer den create statement der er brugt til at oprette
tabeller, men det er vist bare for brugerens skyld.
/Bent