Как добавить данные в один столбец

Это может быть простая проблема с jar. Возможно, вы используете старый mysql-connector-java-XXX-bin.jar, который не поддерживается вашей текущей версией mysql. Я использовал mysql-connector-java-5.1.18-bin.jar, поскольку использую mysql 5.5, и эта проблема решена для меня.

1
задан scsimon 16 January 2019 в 17:45
поделиться

1 ответ

Поскольку с именами не связан идентификатор, я бы просто использовал ROW_NUMBER и присоединился к ROW_NUMBER = unique_reviser_code. Единственная проблема состоит в том, чтобы знать, какие строки являются нулевыми Из того, что я вижу, все они кажутся нулевыми. По вашим данным, так ли это, или в таблице периодически встречаются имена, например, 5, 17, 29 ... и т. Д.? Если name_expedient_reviser пуст в dbo_expedient_reviser, вы также можете усечь таблицу и напрямую вставить значения. Надеюсь, этот уникальный_ревизер-код уже не связан с другими вещами.

WITH CTE (name_expedient_reviser, unique_reviser_code)
AS
    (
    SELECT   name_expedient_reviser
            ,ROW_NUMBER() OVER (ORDER BY name_expedient_reviser)
    FROM source_table
    )
UPDATE er
SET er.name_expedient_reviser = cte.name_expedient_reviser      
FROM dbo_expedient_reviser er
JOIN CTE on cte.unique_reviser_code = er.unique_reviser_code

Или усечь:

Truncate Table dbo_expedient_reviser

INSERT INTO dbo_expedient_reviser (name_expedient_reviser, unique_reviser_code)
SELECT DISTINCT
    unique_reviser_code = ROW_NUMBER() OVER (ORDER BY name_expedient_reviser)
   ,name_expedient_reviser
FROM source_table
0
ответ дан Nick A 16 January 2019 в 17:45
поделиться
Другие вопросы по тегам:

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