请帮助我,
如何在第一个表中插入数据后,将数据从一个表插入另一个表? 我写了一个查询,但它有问题,它说"未知栏' test.ProjectNumber' &#34 ;.我应该先定义它吗? 我想从test2.PN插入数据到test.ProjectNumber 请帮帮我
代码:
/**
* Insert a record on another table
*/
// SQL statement parameters
$insert_table = 'test2';
$insert_fields = array(
'test2.PN' => 'test.ProjectNumber',
);
// Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
答案 0 :(得分:0)
您的SQL评估如下:
INSERT INTO test2 ( test2.PN ) VALUES ( test.ProjectNumber );
这是无效的,因为在此上下文中无法理解test.ProjectNumber
。
我认为您需要做的是两个单独的插入语句,如下所示:
-- assumes that the number has not been inserted into test2 yet,
-- just insert the same value into both tables:
INSERT INTO test2 ( test2.PN )
VALUES ( somevalue );
INSERT INTO test ( test.ProjectNumber )
VALUES ( somevalue );
或者如果已插入第一行(您的问题不明确),您可以选择该值并插入它,但您需要能够识别该行(我正在使用123
)
-- If test2 already contains the row you need to insert from
-- then you need to select that row to insert the new row in test
INSERT INTO test ( test.ProjectNumber )
SELECT test2.PN
FROM test2
WHERE test2.Id = someid;
希望这有帮助 - 我没有为你翻译成php,部分是为了练习,但部分是因为我的php很生锈......