2017-04-18 16 views
0

名前はsearchsearch2の2つのテーブルがあります。ユーザーが自分のウェブサイトで何かを検索すると、最初のテーブルに挿入され、mySQLは自動インクリメントIDをそのテーブルに割り当てます。私はsearchテーブル挿入からsearch2テーブルへのIDを自動的にしたいと思います。これらは私のテーブル構造です:テーブルから別のテーブルに新しいデータを挿入するにはどうすればいいですか?

TABLE search(
    id INT AUTO_INCREMENT PRIMARY KEY, 
    search_keyword VARCHAR(50) NOT NULL 
) 
TABLE search2(
    id INT FOREIGN KEY REFERENCES search (id) 
) 

、これが私のクエリです:

INSERT INTO search2 (id) SELECT id FROM search WHERE condition 

私は毎回新しいレコードが、それはに挿入IDですsearchテーブルに追加された状態で書くことかわかりませんsearch2テーブル。

注:私のウェブサイトはPHPによって書かれました。

+1

まず後にトリガーを作成します。 – Jens

+0

挿入後にトリガーを作成する –

+0

@Jensの記述どおり、[mysqli.insert-id](http://php.net/manual/en/mysqli.insert-id.php) – OldPadawan

答えて

0

あなたが検索するレコードを追加する必要があり、その後、あなたが検索からLAST_INSERT_IDでsreach2にレコードを追加する必要が挿入

DELIMITER $$ 

CREATE TRIGGER new_load_id 
AFTER INSERT ON search 
FOR EACH ROW 
INSERT INTO search2 (id) VALUES (NEW.id); 

END$$ 
DELIMITER ; 
関連する問題