Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在两个不同表的两行中插入相同的UUID_Php_Mysql_Database_Uuid - Fatal编程技术网

Php 如何在两个不同表的两行中插入相同的UUID

Php 如何在两个不同表的两行中插入相同的UUID,php,mysql,database,uuid,Php,Mysql,Database,Uuid,我尝试下一个脚本: // 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 pr

我尝试下一个脚本:

// 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)

假设
ID
是可以在
$qry2
之前添加的表唯一索引:

$ID = mysql_insert_id();

假设
ID
是可以在
$qry2
之前添加的表唯一索引:

$ID = mysql_insert_id();
在发送
INSERT
s并将值放入PHP中的语句之前,只需执行
SELECT UUID()
。类似这样(未经测试):

在发送
INSERT
s并将值放入PHP中的语句之前,只需执行
SELECT UUID()
。类似这样(未经测试):


为什么不像其他人那样使用自动递增id?为什么不像其他人那样使用自动递增id?UUID在插入过程中自动关联的问题。。。我不认为它可以选择之前INSERT@SergiuCostas:
SELECT UUID()
是MySQL中的有效SQL语句。它应该为您提供一个UUID,您可以将其用于插入。另一个解决方案是用户定义的变量-请参见我的示例中的
@UUID
。这将是我的首选方式,因为它不需要您在任何时候从PHP访问UUID。TBK-您的答案接近正确的方式。。。。接下来是工作脚本:$q=“选择UUID()作为uid”$res=mysql_query($q)或die('q error:'.mysql_error())$row=mysql_fetch_assoc($res);//将数据插入mysql$qry=“插入$tbl_name1(ID、引用、代码、名称)值(“$row['uid']”、“$REFERENCE'、“$CODE'、“$NAME”)$result=mysql\u query($qry)或die('err 034r'.mysql\u error())$qry2=“插入到$tbl_name2(产品)值(“$row['uid']”)中”$result=mysql_query($qry2)或die('gg2345'.mysql_error());太好了,恭喜你成功了。我修正了答案,因为我有一个输入错误(错过了
$
行前面的
$
,它必须是
$UUID=$row[“UUID”]
)。UUID在插入过程中自动关联的问题。。。我不认为它可以选择之前INSERT@SergiuCostas:
SELECT UUID()
是MySQL中的有效SQL语句。它应该为您提供一个UUID,您可以将其用于插入。另一个解决方案是用户定义的变量-请参见我的示例中的
@UUID
。这将是我的首选方式,因为它不需要您在任何时候从PHP访问UUID。TBK-您的答案接近正确的方式。。。。接下来是工作脚本:$q=“选择UUID()作为uid”$res=mysql_query($q)或die('q error:'.mysql_error())$row=mysql_fetch_assoc($res);//将数据插入mysql$qry=“插入$tbl_name1(ID、引用、代码、名称)值(“$row['uid']”、“$REFERENCE'、“$CODE'、“$NAME”)$result=mysql\u query($qry)或die('err 034r'.mysql\u error())$qry2=“插入到$tbl_name2(产品)值(“$row['uid']”)中”$result=mysql_query($qry2)或die('gg2345'.mysql_error());太好了,恭喜你成功了。我修正了答案,因为我有一个输入错误(错过了
行前面的
$
,它必须是
$UUID=$row[“UUID”]
)。
$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)
SET @UUID = (SELECT UUID() AS UUID);
INSERT INTO test1 VALUES(@UUID, "foo");
INSERT INTO test1 VALUES(@UUID, "bar");