dongshi3361 2013-07-03 06:57
浏览 59
已采纳

SQL将行从一个表移动到另一个表,具有不匹配的列

I have found plenty of examples on how to insert into using a select then delete however,

I am looking to move data from one table to another and the columns ARE NOT matched for example

table1 (id, location, lat, lon, date_added)

table2 (id, location, lat, lon, date_added, requested)

essentially I would like to insert into table2 a row from table1 and add the $_SESSION['user_name'] to the requested field, and then delete the original row from the first table.

I have tried a few different things

$sql = "START TRANSACTION;
INSERT INTO bia_signs_pending (SELECT * FROM bia_signs WHERE id = ".$_GET['sign_id'].');

DELETE FROM bia_signs WHERE id = '          .$_GET['sign_id'].';
UPDATE bia_signs_pending SET requested='    .$_SESSION['user']['email'].
'WHERE id = '.$_GET['sign_id'].';
COMMIT;';

//this one breaks because the columns do not match

any suggestions?

  • 写回答

3条回答 默认 最新

  • doupai6875 2013-07-03 07:01
    关注

    You can use INSERT with column names

    INSERT INTO TABLE2 (id, location, lat, lon, date_added)
    SELECT id, location, lat, lon, date_added 
    FROM table1 
    WHERE ...
    

    and you can add constants into an INSERT

    INSERT INTO TABLE2 (id, location, lat, lon, date_added, requested)
    SELECT id, location, lat, lon, date_added, 'Jonny'
    FROM table1
    WHERE ...
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里