mysql - 使用 ALT 和 ADD 添加新列后如何向现有行添加值
问题描述
这是我的代码
CREATE TABLE youtube
(
name varchar(25),
Likes int(16),
dislikes int(16)
);
INSERT INTO YOUTUBE (NAME, LIKES, DISLIKES)
VALUES
('mysql','23','21'),
('data structure','56','36'),
('computernetworks','45','36'),
('OS','23','49');
现在我在现有表中再添加一列
ALTER TABLE youtube
ADD views varchar(25);
INSERT INTO youtube(views)
VALUES
('100'),
('153'),
('126'),
('326'),
('526');
在此之后,我得到的输出为:
您可以在上图中看到 VIEWS 是使用具有空数据的新行创建的,因为我想将此 VIEWS 添加到相应的 SUBJECTS 行中,而不是像输出图像中显示的那样。
解决方案
首先,我建议你用UPDATE
它来做。
对于您的问题,您可以尝试使用INSERT ON DUPLICATE KEY UPDATE。
INSERT INTO YOUTUBE (name, likes,dislikes,views)
VALUES
('mysql','23','21','100'),
('data structure','56','36','153'),
('computernetworks','45','36','126'),
('OS','23','49','326')
ON DUPLICATE KEY UPDATE
name = name,
likes = likes,
dislike = dislikes
要存档此内容,您还需要向某些列(例如name
在您的代码中)添加唯一索引或向您的表添加主键。
推荐阅读
- css - 如何在输入文本字段中移动文本?
- c# - 在SP返回url中发送到saml2/ACS后,我们可以得到IDP发送的属性吗?
- modelica - 使用布尔数组进行数组索引
- sql - sql - 给定列中每个不同值的单行
- c# - 如何在异步任务 C# 中限制每秒请求
- r - 为什么创建列表会改变 shapiro.test 的结果?
- c++ - 我怎样才能从这个“调试断言失败!”中找到我的编码错误在哪里?错误?
- uwp - 如何将 DirectXPixelFormat.B8G8R8A8UIntNormalized 转换为 BGR 颜色
- configuration - 使用 Ansible 配置 Oracle WebCenter 12C 门户域
- scala - Scala多元数组总和