2017-03-21 2 views
0

ドライブテーブルから2番目のMySQLのGoogle Cloud SQLデータモデルに移行しました。私はAppMakerで、次の質問表に19行を挿入することができました:AppMakerでCloud SQLをクエリするときに重複する行を取得する

+-------------------+--------------+------+-----+---------+-------+ 
| Field    | Type   | Null | Key | Default | Extra | 
+-------------------+--------------+------+-----+---------+-------+ 
| SurveyType  | varchar(64) | NO | PRI | NULL |  | 
| QuestionNumber | int(11)  | NO | PRI | NULL |  | 
| QuestionType  | varchar(64) | NO |  | NULL |  | 
| Question   | varchar(512) | NO |  | NULL |  | 
| SecondaryQuestion | varchar(512) | YES |  | NULL |  | 
+-------------------+--------------+------+-----+---------+-------+ 

私は、コマンドラインからのデータを照会し、それが良いです知っています。私はこのようなAppMakerでデータを照会するときしかし、:

var newQuery = app.models.Question.newQuery(); 
newQuery.filters.SurveyType._equals = surveyType; 
newQuery.sorting.QuestionNumber._ascending(); 
var allRecs = newQuery.run(); 

Iは同じデータ(第1行)の代わりに、19個の異なる行と19列を得ます。どんな考えが間違っていますか?さらに、AppMakerの私のリスト行にはデータが表示されません。私は_keyがレコードに正しく設定されていないことに気づいた。

(編集:私は多分主キーとして2つの列を持つ問題だったが、私はPKを単一のID列、同じ結果であった試みたと思った。)任意のヒントやポインタのため

感謝。

答えて

0

クラウドシェルで直接作成されたテーブルを使用するのではなく、AppMaker内でテーブルを作成することで、これを動作させることができました。既存のテーブルがサポートされていないか、AppMakerにバグがあるかどうかはわかりませんが、動作しているので、これを閉じます。

0

アプリメーカーのクラウドSQLのマニュアルに従って問題である、あなたのテーブルに2つのプライマリキーフィールドを持っている:https://developers.google.com/appmaker/models/cloudsql

アプリのメーカーだけ 単一の主キーを持つテーブルに書き込むことができますフィールド - 既存のGoogle Cloud SQLテーブルが0または の複数の主キーを持っている場合は、引き続きApp Makerでクエリできますが、 に書き込むことはできません。

これは、ビューが各行を適切に表示し、_keyを適切に設定できないことが原因である可能性があります。

+0

申し訳ありませんが、私の質問を編集するまであなたの答えは見えませんでした。私はそれを疑ったけど、PKと同じ結果を1つのカラムで得る。また、私は(不思議なことに)PKとして2列のテーブルにうまく書き込めましたが、それは問題の読書だけでした。 – Scott

+0

ページとテーブルウィジェットを作成してクエリを使用しないとき(単にデータソースとしてSQLテーブルを指す)、App Makerでテーブルが正しく機能しますか? –

+0

また、「AppMakerでデータをクエリするとき」、ページまたはモデルのデータソースクエリでクエリがどこに行われているのですか? –

関連する問題