试图在php MYSQL中将数据从一个表插入另一个表[关闭]

Posted

技术标签:

【中文标题】试图在php MYSQL中将数据从一个表插入另一个表[关闭]【英文标题】:Trying to insert data from one table to another in php MYSQL [closed] 【发布时间】:2013-11-23 18:04:30 【问题描述】:

无论我做什么,都会出现语法错误,我无法弄清楚为什么?

$sn= "INSERT INTO [Drive Errors](Serial Number) SELECT [Serial Number] FROM [Drive List] ORDER BY [Position]ASC";
odbc_exec($con,$sn);

谢谢,代码有效,但现在当我插入序列号数据时,所有以前的数据都被删除了。有什么建议么?

$sn= "INSERT INTO [Drive Errors]([Serial]) SELECT [Serial Number] FROM [Drive List] ORDER BY [Position]ASC";
odbc_exec($con,$sn);

//Selecting table(de) and row(pos) need it in brackets
$sql= "SELECT * FROM [Drive Errors] ORDER BY [Position]ASC"; 

$rs=odbc_exec($con,$sql);
if (!$rs)
echo("Error"); 

【问题讨论】:

这是您运行的准确查询吗? 数据库是ms-access数据库 那么为什么这个问题被标记为“mysql”和“odbc”?您是否使用 Access 链接表来操作 MySQL 数据库中的表? 【参考方案1】:

您也需要在第一个 Serial Number 周围加上方括号:

$sn= "INSERT INTO [Drive Errors]([Serial Number]) SELECT [Serial Number] FROM [Drive List] ORDER BY [Position]ASC";

圆括号是 INSERT 语句语法的一部分;方括号是用空格或有趣字符分隔列名的地方,或者是 Access SQL 中的保留字。

【讨论】:

谢谢,代码有效,但现在当我插入序列号数据时,所有以前的数据都被删除了。有什么建议么? $sn= "INSERT INTO [Drive Errors]([Serial]) SELECT [Serial Number] FROM [Drive List] ORDER BY [Position]ASC"; odbc_exec($con,$sn); //选择表(de)和行(pos) $sql= "SELECT * FROM [Drive Errors] ORDER BY [Position]ASC"; $rs=odbc_exec($con,$sql); if (!$rs) echo("Error"); $test = odbc_fetch_into($rs ,$result); if(!$test) echo "失败"; @user3025553 请点击您问题底部的“编辑”按钮,并在此处附加您的更新信息。如您所见,将代码放在 cmets 中效果并不好(因为它本来就不应该放在 cmets 中)。

以上是关于试图在php MYSQL中将数据从一个表插入另一个表[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL将数据从一个表插入到另一个表中

在php中将最后一个id插入变量发送到另一个页面[重复]

MYSQL:如何在 mysql 中将整行从一个表复制到另一个表,而第二个表有一个额外的列?

如何在Mysql大表中将数据从表移动到另一个表

MySQL 中将一个表的数据插入另外一个表怎么做

如何从表中获取数据并将其插入另一个表?