· 5 years ago · Apr 27, 2020, 02:24 PM
1#Подключаем библиотеку для работы с Sqlite
2require 'sqlite3'
3#Создаем базу данных people
4database = SQLite3::Database.open 'people .db'
5
6#Создаем таблицу
7database.execute <<-SQL
8 CREATE TABLE IF NOT EXISTS contacts (
9 contact_id INTEGER PRIMARY KEY,
10 first_name TEXT NOT NULL,
11 last_name TEXT NOT NULL,
12 email TEXT NOT NULL UNIQUE,
13 phone TEXT NOT NULL UNIQUE
14 );
15SQL
16
17#Запишем данные в таблицу
18database.execute <<-SQL
19 INSERT INTO contacts (contact_id, first_name, last_name, email, phone)
20 VALUES (2, 'Ruslan', 'Soltaev', 'ruslan.soltaev@gmail.com', '+79778723207');
21SQL
22
23
24#######Что я получаю в Консоли
25main.rb:4: warning: rb_check_safe_obj will be removed in Ruby 3.0
26Traceback (most recent call last):
27 8: from main.rb:18:in `<main>'
28 7: from /home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:134:in `execute'
29 6: from /home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:95:in `prepare'
30 5: from /home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:158:in `block in execute'
31 4: from /home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:158:in `to_a'
32 3: from /home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:107:in `each'
33 2: from /home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:107:in `loop'
34 1: from /home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:108:in `block in each'
35/home/saruman/.rvm/gems/ruby-2.7.1/gems/sqlite3-1.3.11/lib/sqlite3/statement.rb:108:in `step': UNIQUE constraint failed: contacts.phone (SQLite3::ConstraintException)