Email or username:

Password:

Forgot your password?
Мя :sparkles_lesbian:

Загадка жака фреско: SQLite успешно сожрал в себя кучу записей в таблицу, но на одной (какой-то) подавился, и
а) ничего не вставил (это ок, там on conflict do nothing)
б) ничего не вернул (а это не ок, там returning сгенерированного id)
чтовообщеблинпроизошло?

9 comments
Мя :sparkles_lesbian:

Ага, это та же самая запись, которую он записал предыдущей. То есть, если записи из-за конфликта не произошло, то и returning игнорируется...? Втф...

Мя :sparkles_lesbian:

Ладно, втф отменяется, это задокументированное поведение returning clause

Но от этого не легче, блин!

D:\side\

@mo подожди, а с фига ли returning должен что-то возвращать, если ничего вставлено не было? Он же для возвращения успешно вставленного, нет?

Мя :sparkles_lesbian:

@dside мне казалось, что должен(

D:\side\

@mo так о том и вопрос, "с фига ли", какой в этом смысл – база же не изменилась, совсем :blobcatheadache:

Мя :sparkles_lesbian:

@dside ну например узнать сгенерированный id, и потом на него ссылаться

D:\side\

@mo так если его *нет* в базе, на что ссылаться? :blobcatthink:

Мя :sparkles_lesbian:

@dside ну как нет, когда инсерт не прошел из-за конфликта...

D:\side\

@mo ну так, нету. Строка, в которой он был, не вставилась. :blobcatshrug:

То, что там есть *такой же*, совсем другая история.

Go Up