首页 > 解决方案 > 使用 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 行中,而不是像输出图像中显示的那样。

标签: mysql

解决方案


首先,我建议你用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在您的代码中)添加唯一索引或向您的表添加主键。


推荐阅读