Вопрос про реализацию SQL и NULL значения

25 views
Skip to first unread message

Timon K

unread,
Jun 9, 2019, 7:55:07 AM6/9/19
to tarantool-ru
Если создать таблицу вот так
box.schema.space.create("appuser",{engine='vinyl', if_not_exists = true})
 box.space.appuser:format({
   {name = 'id', type = 'string'},
   {name = 'user_login', type = 'string'},
   {name = 'user_password', type = 'string'},
   {name = 'org_id', type = 'string'},
   {name = 'courier_id', type = 'string'},
   {name = 'store_id', type = 'string'}
  })
  box.space.appuser:create_index('primary', {
   type = 'tree',
   parts = {'id'},
   if_not_exists = true
  })

то данный запрос box.execute("insert into appuser values ('XKh9ar96g3MF','admin','5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8',NULL,NULL,NULL)")
вернет ошибку error: 'Failed to execute SQL statement: NOT NULL constraint failed: APPUSER.ORG_ID'

но если создать таблицу через команду sql например CREATE TABLE table5 (column1 INTEGER, column2 VARCHAR(100), PRIMARY KEY (column1)) тогда NULL вставляются нормально, но в этом случае не понятно как 
при создании в sql добавить опцию {engine='vinyl'}

Konstantin Osipov

unread,
Jun 9, 2019, 3:57:59 PM6/9/19
to tarant...@googlegroups.com

pragma sql_default_engine='vinyl'


в sql по умолчанию все значения nullable, в lua - наоборот.

в lua добавить в опции format is_nullable=true - тоже будет работать.

* Timon K <timurt...@gmail.com> [19/06/09 16:17]:
> --
> Вы получили это сообщение, поскольку подписаны на группу tarantool-ru.
>
> Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес tarantool-ru...@googlegroups.com.
> Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msgid/tarantool-ru/eaf1bcb6-f6b3-4601-9f39-b07a36a4af9c%40googlegroups.com.
> Настройки подписки и доставки писем: https://groups.google.com/d/optout.


--
Konstantin Osipov, Moscow, Russia
Reply all
Reply to author
Forward
0 new messages