2017-10-05 5 views
0

私はドキュメントのプロパティを格納するテーブルを1つ持っており、特定のプロパティを持つ新しいドキュメントごとに、そのドキュメントを識別する整数を増やす必要があります。私は「シフラー」列をインクリメントする必要があります。この表でmysqlを使用して次の空き整数を見つける

SELECT tip, broj, god, sifra, objekt FROM docs.dok_sta_d; 

: これは私の選択クエリです。

これは私の挿入文でなければなりません:「シフラー」フィールドから開始するように、私は他の値に基づいて次の整数(tipbrojgodobjekt)を追加する必要があります列「シフラー」は、

INSERT INTO `docs`.`dok_sta_d` (`tip`, `broj`, `god`, `sifra`, `objekt`) VALUES ('12', '777', '2', 'integer', '9'); 

1を使用し、すでにテーブルにある値の各組み合わせに対して1ずつ増分します。

+0

一般的に、この種の戦略は避けてください。 – Strawberry

答えて

0

擬似コードとして、以下に示す必要があります。あなたの訂正をしてください。

INSERT INTO `docs`.`dok_sta_d` 
select name, 
     @rownum := @rownum + 1 as row_number 
from `docs`.`dok_sta_d` 
+1

@rownumとは何ですか? – Strawberry

+0

これを行うには、少なくとも 'coalesce()'を使って最初は 'null'である' @ rownum 'を扱う必要があります: '@rownum:= coalesce(@rownum、0)+ 1' – Bohemian

関連する問題