更新
+-----+------------------+-------------+
| id | datenum | F1_baro_20_ |
+-----+------------------+-------------+
| 1 | 734152.000000000 | 1005.21 |
| 2 | 734152.006944445 | 1005.26 |
+-----+------------------+-------------+
这是我的表
这是我的新表
+-----+------------------+-------------+------------+
| id | datenum | F1_baro_20_ |new column |
+-----+------------------+-------------+------------+
| 1 | 734152.000000000 | 1005.21 | |
| 2 | 734152.006944445 | 1005.26 | |
+-----+------------------+-------------+------------+
我想将数据插入'new_colum',其中old_datenum = new_datenum但我不想修改现有数据!
答案 0 :(得分:1)
试试这个。
使用以下SQL查询添加新列:
ALTER TABLE myTable ADD newColumn <datatype>
<datatype>
可以是int,text,longtext,varchar(50),具体取决于你需要的东西。
然后仅使用以下SQL查询更新此列:
UPDATE TABLE myTable SET newColumn = 'Hello this is my data'
或者如果您需要更新特定行(在列ID为2的情况下选择):
UPDATE TABLE myTable SET newColumn = 'Hello this is my data' WHERE id = '2'
以下是将数据从datenum复制到newColumn的简单SQL查询:
UPDATE myTable SET newColumn = datenum
运行该代码一次(但当然使用您的表名和列名),您将看到数据被复制。
或者如果您想使用,例如,PHP:
$rs = mysql_query('SELECT * FROM myTable ORDER BY id ASC');
while ($row = mysql_fetch_array($rs)) {
$id = $row['id'];
$new_datenum = $row['datenum'];
$q = mysql_query('UPDATE myTable SET newColumn = $new_datenum WHERE id = $id');
}
这也会将所有数据从datenum复制到newColumn。
答案 1 :(得分:0)
update mytable set newcol = 'yourvalhere' where somecol='somevalue';
Where子句是可选的,如果要向整个表添加相同的值,请忽略它。有关更多信息,请发布您的架构示例以及您希望数据的内容。
另见
答案 2 :(得分:0)
您可以简单地修改旧表以添加列。如果您不能这样做,那么只需在这两个表上使用连接
UPDATE newTable N INNER JOIN
oldTable O
ON N.datenum = O.datenum
SET N.newcolumn = <whatever you want to set>
WHERE <any conditions on either tables>