0

次のスクリプトを試してみます:

// Insert data into mysql 

$qry="INSERT INTO $tbl_name1 (ID, REFERENCE, CODE, NAME) VALUES (UUID(), '$REFERENCE', '$CODE', '$NAME')";
$result=mysql_query($qry);

$qry2="INSERT INTO $tbl_name2 (PRODUCT) VALUES ('$ID')"; <--- Here is a problem
$result=mysql_query($qry2)

2つのテーブルに同じUUIDを同時に挿入する方法がわかりません。私を助けてください!よろしくお願いします!

終わり!!!ワーキングスクリプト:

$q = "SELECT UUID() AS uid";
$res = mysql_query($q) or die('q error: '.mysql_error());
$row = mysql_fetch_assoc($res);

// Insert data into mysql 
$qry="INSERT INTO $tbl_name1 (ID, REFERENCE, CODE, NAME) VALUES ('".$row['uid']."', '$REFERENCE', '$CODE', '$NAME')";
$result=mysql_query($qry) or die('err 034r '.mysql_error());

$qry2="INSERT INTO $tbl_name2 (PRODUCT) VALUES ('".$row['uid']."')";
$result=mysql_query($qry2) or die('gg2345  '.mysql_error());
4

2 に答える 2

2

SELECT UUID()sを送信しINSERTて値を PHP のステートメントに入れる前に行うだけです。このようなもの(テストされていません):

$result = mysql_query("SELECT UUID() AS UUID") or die('SQL error: ' . mysql_error());
$row = mysql_fetch_assoc($result);
$UUID = $row["UUID"];

$qry="INSERT INTO $tbl_name1 (ID, REFERENCE, CODE, NAME) VALUES ('$UUID', '$REFERENCE',   '$CODE', '$NAME')";
$result=mysql_query($qry);

$qry2="INSERT INTO $tbl_name2 (PRODUCT) VALUES ('$UUID ')"; <--- Here is a problem
$result=mysql_query($qry2)

もう 1 つの方法は、ユーザー定義変数を使用することです ( SQL Fiddle を参照)。

SET @UUID = (SELECT UUID() AS UUID);
INSERT INTO test1 VALUES(@UUID, "foo");
INSERT INTO test1 VALUES(@UUID, "bar");
于 2012-08-29T10:08:47.780 に答える
1

IDが、前に追加できるテーブルの一意のインデックスであると仮定し$qry2ます。

$ID = mysql_insert_id();
于 2012-08-29T10:07:45.220 に答える