我一直在尝试向此表学生添加数据值时感到沮丧。我拥有所有其他数据值并已删除并创建了student_id列。但是,在尝试使用此查询添加数据时:
insert into students(student_id) values('1'),('2'),('3'),('4'),('5');
数据未正确插入,因为它会在包含数据的前5列下创建新列。
一定是因为我的值不是空值,但我不能拥有not null标识符。
是否有一个查询命令允许我在现有的填充值列中更改数据?到目前为止,我没有成功找到这个。
以下是一些可以进一步解释问题的图片。
答案 0 :(得分:0)
INSERT是错误的命令,因为您要更新现有行。这里的问题在于行的顺序是不确定的,我认为你不能在一个语句中更新它们。一种解决方案如下:
UPDATE students SET student_id = 1 WHERE first_name = 'Berry';
UPDATE students SET student_id = 2 WHERE first_name = 'Darren';
我希望你真的只有5列可以更新: - )
答案 1 :(得分:0)
看起来您已经创建了最初没有student_id字段的记录,您想要更新当前记录,但实际上是在插入新记录。
您的意思是用更新语句更新您的学生,例如“UPDATE students SET student_id = X where condition = Y”
然后看起来你的student_id是你应该设置为AUTO_INCREMENT值的主键。
此致