2016-12-21 4 views
-1

は、この既に作成している表を持っている:テーブルの関係:プレフィルテーブルX新生児テーブル

CREATE TABLE `form` (
    `id` int(4) NOT NULL AUTO_INCREMENT, 
    `name` varbinary(50) DEFAULT NULL, 
    `employeer` varchar(30) NOT NULL, 
    `occur_type` varchar(13) NOT NULL, 
    `contact` varchar(20) DEFAULT NULL, 
    `phone` varchar(50) DEFAULT NULL, 
    `message` text NOT NULL, 
    `date` varchar(10) NOT NULL, 
    `time` varchar(8) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=3747; 

私は、次の表を作成しました:

CREATE TABLE `prefor` ( 
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`r1` VARCHAR(3) NOT NULL , 
`r2` VARCHAR(160) NOT NULL , 
`r3` VARCHAR(160) NOT NULL , 
`r4` VARCHAR(160) NOT NULL) ENGINE = MYISAM; 

は私が結果を返すために何ができます現在のpreforr1,r2r3r4行に加えて、formの現在の行全体に同じSELECTのデータが挿入されていますか?

+0

テーブル間の関係について何もわかっていないとします。あなたが想像していることは、現実であることが分かります。 – Strawberry

+0

関係は次のとおりです。ユーザーが2つのテーブルを入力します。最初に 'prefor'から' form'までです。しかし、彼は彼の名前を知らせることができますか? 'form'.idは現在3476回自動的にインクリメントされ、' preform'.idは現在 'null'です。この2つのテーブル間のリンクを作成するための最良の解決策は何ですか? –

+0

フォームテーブルには、preforテーブルのpreforを格納できます。 – Strawberry

答えて

0

@Strawberryの先端によると、私は次phpコードを実装しようとしています:この前

$idpreform = mysql_insert_id(); 
$record= mysql_query("INSERT INTO form (name, employeer, occur_type, contact, phone, message, date, time, id_preform) VALUES '$name','$employeer','$occur_type','$contact','$phone','$message','$date','$time', '$idpreform')",$id) or die("Insert error.".mysql_error()); 
        echo '<br>Mysql_insert_id: ', mysql_insert_id(); 

を、同じBDが異なるテーブルの上に書いているPHPのコードがあります。この場合、フィールドを自動インクリメントします。この瞬間、私が言ったように、BDは第2の自動インクリメントを書いています。 上のechoでは、コードはformテーブルから自動インクリメントフィールドidの値を返します。 BDでは、0と書いてあります。これを修正するには?