gpt4 book ai didi

MySQL:将新列插入到具有其他表默认值的表中

转载 作者:行者123 更新时间:2023-11-29 01:55:17 28 4
gpt4 key购买 nike

我想用其他表列的默认值向一个表添加一个新列。

1st Table 'sensors'
-------------------------------------------------------------
id sensorId location city country userId
-------------------------------------------------------------

2nd Table sensordata
-------------------------------
id sensorId dataValues
-------------------------------

我想在 sensordata 表中添加一列,默认值为 location,其中 sensorId 相同。

我该怎么做?

像这样

ALTER TABLE  `sensordata` s ADD  `location` VARCHAR( 200 ) NOT NULL DEFAULT 
(SELECT location from sensors s WHERE s.sensorId = d.sensorId) AFTER `dataValues`

请不要告诉我为什么我需要重复数据,这是有原因的:)

最佳答案

分两步完成

第一步

ALTER TABLE  `sensordata`  ADD  `location` VARCHAR( 200 )  ;

第二步

update sensordata sd
join sensors s on s.sensorId = sd.sensorId
set sd.location = s.location

更新:这就是我所做的并且效果很好

ALTER TABLE `sensordata` ADD `location` VARCHAR(200) NULL DEFAULT NULL AFTER `dataValues`;

UPDATE sensordata d SET d.location = (SELECT s.location from sensors s WHERE s.sensorID = d.sensorID);

关于MySQL:将新列插入到具有其他表默认值的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30758973/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com