-1

次のクエリを実行しようとしています。

Insert into pligg_links_temp
select * 
from pligg_links 
WHERE link_id > 0 and link_id < 10000;

しかし、私はこのエラーが発生します:

#1146 - Table 'chris123_pligg.pligg_links_temp' doesn't exist   when trying to execute query to create table

テーブルは存在しませんが、プロセスで作成する必要がありますか、それとも間違っていますか?

4

3 に答える 3

2

クエリは

CREATE TABLE pligg_links_temp AS SELECT * FROM pligg_links WHERE link_id > 0 and link_id < 10000;
于 2012-06-19T10:43:59.010 に答える
1

テーブルから別のテーブルにレコードをコピーするには、2 つの方法があります。

  1. 既存のテーブルに選択して挿入します。
  2. 選択したテーブルフィールド構造から作成された新しいテーブルへの選択による作成および挿入。

エラースタックトレースは、テーブルpligg_links_tempが存在しないことを示しています。
次に、create and insertテーブルデータへのステートメントが正しくありません。

既存のテーブルから新しいテーブルにレコードをコピーするには、CREATE TABLE ... SELECT Syntax構文を使用する必要があります。

次のサンプルを使用します。

create table pligg_links_temp -- as /* as is optional */  
  select * from pligg_links WHERE link_id > 0 and link_id < 10000;

ターゲット テーブルが既に存在する場合は、INSERT ... SELECT Syntaxステートメントを使用してレコードをコピーできます。

insert into pligg_links_temp  
  select * from pligg_links WHERE link_id > 0 and link_id < 10000;
于 2012-06-19T11:07:39.213 に答える
0

いいえ、作成しません。 http://dev.mysql.com/doc/refman/5.5/en/insert.htmlは、テーブルが存在する必要があることを明確に示しています。

于 2012-06-19T10:44:38.150 に答える