# CREATE TABLE ... doesn't work sometimes

**URL:** <https://www.ruby-forum.com/t/create-table-doesnt-work-sometimes/117178>\
**Category:** Ruby\
**Created:** [October 14, 2007, 12:25pm UTC](https://www.ruby-forum.com/t/create-table-doesnt-work-sometimes/117178 "2007-10-14T12:25:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Une\_BSSSSvS\_ue](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/2acd7d/32.png) [@Une\_BSSSSvS\_ue](https://www.ruby-forum.com/u/Une_BSSSSvS_ue)\
**Post date:** [October 14, 2007, 12:25pm UTC](https://www.ruby-forum.com/t/create-table-doesnt-work-sometimes/117178/1 "2007-10-14T12:25:51Z")

</div>

with the following script :  
#! /usr/bin/env ruby

begin; require ‘rubygems’; rescue LoadError; end

require ‘sqlite3’

db = SQLite3::Database.new( ‘ou-ou.db’ )

db.execute \<\<SQL  
BEGIN TRANSACTION;  
CREATE TABLE devicephonebook (  
UID INTEGER PRIMARY KEY AUTOINCREMENT,  
lastName TEXT NOT NULL DEFAULT(’’),  
firstName TEXT NOT NULL DEFAULT(’’),  
fullLastName TEXT  
);  
COMMIT;  
SQL

if, from command line, i do :

$ sqlite3 ou-ou.db  
[…]  
sqlite\> .dump devicephonebook I get :  
BEGIN TRANSACTION;  
COMMIT;  
sqlite\>

then, no table created, why ?

i wrote “sometimes” because i’ve the feeling that if i INSERT something  
just afterwards creating the table it’s OK ???

---

<div class="post-metadata">

**Author:** ![Une\_BSSSSvS\_ue](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/2acd7d/32.png) [@Une\_BSSSSvS\_ue](https://www.ruby-forum.com/u/Une_BSSSSvS_ue)\
**Post date:** [October 14, 2007, 12:49pm UTC](https://www.ruby-forum.com/t/create-table-doesnt-work-sometimes/117178/2 "2007-10-14T12:49:49Z")

</div>

Hi,

Ideally, to do transactions, you should use the db.transaction method;

[http://sqlite-ruby.rubyforge.org/sqlite3/faq.html#538670536](http://sqlite-ruby.rubyforge.org/sqlite3/faq.html#538670536)

HTH,

Arlen

---

<div class="post-metadata">

**Author:** ![Une\_BSSSSvS\_ue](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/2acd7d/32.png) [@Une\_BSSSSvS\_ue](https://www.ruby-forum.com/u/Une_BSSSSvS_ue)\
**Post date:** [October 14, 2007, 1:41pm UTC](https://www.ruby-forum.com/t/create-table-doesnt-work-sometimes/117178/3 "2007-10-14T13:41:15Z")

</div>

Arlen Christian Mart C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Ideally, to do transactions, you should use the db.transaction method;
> 
> [http://sqlite-ruby.rubyforge.org/sqlite3/faq.html#538670536](http://sqlite-ruby.rubyforge.org/sqlite3/faq.html#538670536)

OK, fine thanks !
