2016-10-21 15 views
0

AlaSQLの内部テーブルにCSVデータをコピーしようとしています。 しかし、SELECT * INTO tab FROM CSV() - 単純に機能しません。この後も何も変わりません。テーブルtabはまだ空ですが、直接選択は正常に動作します。私は間違っているの?ファイルとの対話CSVからテーブルに挿入するAlaSQLが機能しない

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title></title> 
 
</head> 
 
<body> 
 
    <div id="res1"></div> 
 
    <div id="res2"></div> 
 
\t <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/alasql/0.3.3/alasql.min.js"></script> 
 
    
 
\t <script type="text/sql" id='sql'> 
 
\t \t CREATE table tab(c1 integer); 
 
\t \t 
 
\t \t select count(*) as c1 
 
\t \t INTO tab 
 
\t \t from CSV("https://rawgit.com/thephpleague/csv/master/examples/data/prenoms.csv"); 
 
\t \t -- tab still empty! 
 
\t \t 
 
\t \t select * 
 
\t \t into HTML("#res1",{headers:true}) 
 
\t \t from tab; 
 

 
\t \t --direct select works 
 
\t \t select count(*) as c1 
 
\t \t into HTML("#res2",{headers:true}) 
 
\t \t from CSV("https://rawgit.com/thephpleague/csv/master/examples/data/prenoms.csv"); 
 

 
\t </script> 
 
\t <script type="text/javascript"> 
 
\t \t alasql('SOURCE "#sql"') 
 
\t </script> 
 

 
</body> 
 
</html>

答えて

1

要求非同期を行います。現時点では、libは、マルチステートメントコマンドで非同期ステートメントの応答を待つ方法を理解していません。

<script type="text/sql" id='sql'> 
    CREATE table tab(c1 integer); 

    select count(*) as c1 
    INTO tab 
    from CSV("https://rawgit.com/thephpleague/csv/master/examples/data/prenoms.csv"); 
    -- tab still empty! 
</script> 
<script type="text/sql" id='sql2'> 
    select * 
    into HTML("#res1",{headers:true}) 
    from tab; 

    --direct select works 
    select count(*) as c1 
    into HTML("#res2",{headers:true}) 
    from CSV("https://rawgit.com/thephpleague/csv/master/examples/data/prenoms.csv"); 

</script> 
<script type="text/javascript"> 
    alasql.promise(['SOURCE "#sql"','SOURCE "#sql2"']) 
</script> 
:彼のあなたが総文の各非同期チャックのための約束の表記を使用することができますを解決するために