<p dir="ltr">福田さま</p>
<p dir="ltr">喜多です。<br>
原因がわかりました。<br>
データをレイヤに追加するとき、Spatialiteレイヤの追加でなく、ベクタレイヤの追加もしくはドラッグ&ドロップで追加した場合、主キーがそのままコピーされます。<br>
Spatialiteレイヤの追加で追加すると、主キーがNULLでコピーされます。</p>
<p dir="ltr">ありがとうございました。</p>
<p dir="ltr">北海道 喜多耕一</p>
<div class="gmail_extra"><br><div class="gmail_quote">2016/10/20 9:16 "Yoh Fukuda" <<a href="mailto:yoh.fukuda@gmail.com">yoh.fukuda@gmail.com</a>>:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">喜多さま<div><br></div><div>福田です。</div><div><br></div><div>添付画像を拝見しました。当方では、地物をコピー&<wbr>ペーストすると、</div><div>編集モードの間はPK_<wbr>UIDがNULLの状態でレコードが挿入され、</div><div>その後編集モードを解除して保存した段階でキーが更新されます。</div><div>(添付画像)</div><div><br></div><div>ペーストしたレコードは常に最終行の下に追加されるのですが、</div><div>喜多さんの画像を拝見すると、コピーしたレコードのすぐ下に挿入</div><div>されているようですね。。</div><div><br></div><div>経験的に、SpatiaLite/<wbr>SQLiteのレイヤに対してQGIS側で地物の</div><div>コピーなど、データベースにレコードを 追加する際には、自動的に主</div><div>キーはNULLにするようになっていると思うので、<wbr>喜多さんの現象は</div><div>環境によるバグなのかもしれません。</div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:15.015px">現状では、コピーした地物のPK_UIDを削除するしかなさそう</span><span style="font-size:15.015px"><wbr>ですね。</span></blockquote></div><div><span style="font-size:15.015px"><br></span></div><div><span style="font-size:15.015px">そうかもしれません。</span></div><div>それほど地物数が多くないようでしたら、<wbr>一時的に主キーのないテーブル</div><div>を作成して、一通り編集が完了したら再度主キーを持つテーブルに</div><div>戻す、ということも可能ではあります。</div><div><br></div><div><span style="font-size:15.015px">ちなみにレコードを挿入するときに、トリガーを使って</span><span style="font-size:15.015px">自動的にP<wbr>K_UIDを</span></div><div><span style="font-size:15.015px">NULLに</span><span style="font-size:15.015px">できるかな、と思って試してみたのですが、</span><span style="font-size:15.015px">そうすると<wbr>逆に</span>更新を</div><div>保存してもNULLになってしまいました^^;</div><div><br></div><div class="gmail_extra"><br clear="all"><div><div class="m_6891351993887378581gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr">福田 陽一朗<div><br></div></div></div></div></div>
<br><div class="gmail_quote">2016年10月19日 22:36 喜多耕一 <span dir="ltr"><<a href="mailto:kou35tochas@gmail.com" target="_blank">kou35tochas@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">福田さん<div><br></div><div>喜多です。</div><div>返信ありがとうござます。</div><div><br></div><div>推察の通り、Spatialite-guiで変換したSpati<wbr>aliteレイヤです。</div><div>自宅でも試してみましたが、地物をコピーしたら、やはりPK_U<wbr>IDが同じになってしまって、</div><div>そのままでは保存することができません。(添付を参照)</div><div>PK_UIDを削除して(NULLにして)保存すると、自動で番<wbr>号が入力されます。</div><div>地物のコピーは同じレイヤ内で地物をコピーして貼り付けています<wbr>。</div><div><br></div><div>リングの充填では、新しいポリゴンができると、</div><div>元の地物と同じ属性データが自動的に入力された地物が、リングの<wbr>中にできます。</div><div><br></div><div>現状では、コピーした地物のPK_UIDを削除するしかなさそう<wbr>ですね。</div><div><br></div><div>主キーがないと、処理が重くなるんですね。</div><div>了解しました。</div><div><br></div><div>QGISは2.16.3 32bit、64bit両方で行っています。</div><div><br></div><div><br></div><div><br></div><div>北海道 喜多耕一</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016年10月19日 21:41 Yoh Fukuda <span dir="ltr"><<a href="mailto:yoh.fukuda@gmail.com" target="_blank">yoh.fukuda@gmail.com</a>></span>:<div><div class="m_6891351993887378581h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span><span style="font-size:15.015px">喜多さま</span><div style="font-size:15.015px"><br></div><div style="font-size:15.015px">こんにちは。福田です。</div><div style="font-size:15.015px"><br></div><div style="font-size:15.015px">リングの充填は経験がないのですが、当方の環境では地物のコピー<wbr>は</div><div style="font-size:15.015px">行うことができています。</div><div style="font-size:15.015px">(Win10、QGIS2.16.2-62bit、Spatia<wbr>Liteバージョン4.3.0)</div><div style="font-size:15.015px"><br></div><div style="font-size:15.015px">元のデータは、SpatiaLite-guiでshpをインポー<wbr>トしたものでしょうか。<br></div><div style="font-size:15.015px">(PK_UIDという主キー名からしてそうではないかな…と思う<wbr>のですが、)</div><div style="font-size:15.015px">それとも、別の方法でインポートしたものでしょうか。</div><div style="font-size:15.015px"><br></div><div style="font-size:15.015px">通常は、主キーにAUTOINCREMENTというオプションが<wbr>指定されている</div><div style="font-size:15.015px">ので、地物をコピーした際に、自動的に新しいIDが付与されて、<wbr>重複しない</div><div style="font-size:15.015px">ようになっている、、と思います。</div><div style="font-size:15.015px"><br></div><div style="font-size:15.015px">ちなみに、</div><div style="font-size:15.015px"><br></div><blockquote class="gmail_quote" style="font-size:15.015px;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Spatialiteでは、必ずユニークな主キーが必要なのでし<wbr>ょうか?</blockquote><div style="font-size:15.015px"><br></div><div style="font-size:15.015px">については、ユニークな主キーがなくてもジオメトリを持つテーブ<wbr>ルとして</div><div style="font-size:15.015px">扱うことができます。同様に、QGISへ読み込むことができます<wbr>。</div><div style="font-size:15.015px">ただし、表示や処理がとても重くなります。</div><div style="font-size:15.015px"><br></div><div class="gmail_extra" style="font-size:15.015px"><br clear="all"><div><div class="m_6891351993887378581m_4721567249693667596m_-5375143112144224267gmail-m_8227650188122691379gmail_signature"><div dir="ltr"><div dir="ltr"><span style="font-size:small">福田 陽一朗</span><br></div></div></div></div></div></span><div class="gmail_extra"><div><div class="m_6891351993887378581m_4721567249693667596m_-5375143112144224267gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div><br></div></div></div></div></div><div class="gmail_quote"><span>2016年10月19日 18:12 喜多耕一 <span dir="ltr"><<a href="mailto:kou35tochas@gmail.com" target="_blank">kou35tochas@gmail.com</a>></span>:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">みなさま</p><div><div class="m_6891351993887378581m_4721567249693667596h5">
<p dir="ltr">いつもお世話になっています。北海道の喜多です。<br>
QGISでSpatialite使おうとしていますが、地物をコ<wbr>ピーした時や、リングの充填を行ったときに、主キーである「PK<wbr>_UID」がダブってしまい、データを保存することができません<wbr>。<br>
Spatialiteでは、必ずユニークな主キーが必要なのでし<wbr>ょうか?<br>
または、地物のコピーなどでも「PK_UID」を自動で更新され<wbr>る設定はありますか?</p>
<p dir="ltr">よろしくお願いします。</p>
<p dir="ltr">北海道 喜多耕一</p>
<br></div></div><span>______________________________<wbr>_________________<br>
OSGeoJapan-discuss mailing list<br>
<a href="mailto:OSGeoJapan-discuss@lists.osgeo.org" target="_blank">OSGeoJapan-discuss@lists.osgeo<wbr>.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss" rel="noreferrer" target="_blank">http://lists.osgeo.org/mailman<wbr>/listinfo/osgeojapan-discuss</a><br></span></blockquote></div><br></div></div>
</blockquote></div></div></div><br></div>
</blockquote></div><br></div></div>
</blockquote></div></div>