试图在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中将数据从一个表插入另一个表[关闭]的主要内容,如果未能解决你的问题,请参考以下文章