Не может вставить в таблицу, потому что таблица уже существует?

Это простой пример, важной частью слушателя является обнаружение STATE_IDLE конечной точки цикла. поэтому сначала реализуйте класс OnPageChangeListener, затем в свой класс обработчика добавьте эту часть:

@Override
    public void onPageScrollStateChanged(int state) {

        if (state == ViewPager.SCROLL_STATE_IDLE) {

            if (mPreviousPosition == mCurrentPosition && !mIsEndOfCycle) {

                if (mCurrentPosition == 0) {
                    mViewPager.setCurrentItem(getAdapterItemsCount() - 1);
                } else {
                    mViewPager.setCurrentItem(0);
                }

                mIsEndOfCycle = true;
            } else {
                mIsEndOfCycle = false;
            }

            mPreviousPosition = mCurrentPosition;
        }

    }
13
задан Brian Tompsett - 汤莱恩 27 September 2016 в 18:25
поделиться

3 ответа

SELECT ... INTO предназначен для создания новых таблиц.

Используйте INSERT ... SELECT для существующих таблиц. например:

INSERT INTO my_table 
SELECT columna, columnb, 
FROM my_other_table
WHERE (... conditions ...)
24
ответ дан 1 December 2019 в 20:43
поделиться

Вы пробовали этот способ?

Insert INTO my_table
SELECT columna, columnb, 
FROM my_other_table
WHERE (... conditions ...)

Похоже, он пытается неявно создать для вас новую таблицу с именем my_table.

4
ответ дан 1 December 2019 в 20:43
поделиться

Не уверен в SYBASE, но в DB2 это работает для меня


 INSERT INTO my_table
 (
      columna,
      columnb
 )
 SELECT
      columna,
      columnb
 FROM
      my_other_table
 WHERE
      (... conditions...)

Я думаю, что безопаснее указать столбцы в операторе вставки, чем предполагать, что они будут в том же порядке, что и выбор.

1
ответ дан 1 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: