对于MySQL,在同一个表中不存在值的情况下,如何插入到表中?

对于MySQL,在同一个表中不存在值的情况下,如何插入到表中?,mysql,Mysql,此查询显示错误。我无法使FirstName列唯一。请给出一个与此不同的想法 谢谢您可以在该表上添加一个唯一的索引,这也会对您起到同样的作用 insert into student (FirstName,AGE,CITYID) values('guna','26','1') select * from student WHERE FirstName!='guna'; 编辑: 如果无法使用唯一索引 我能想到的一个解决方案是使用复合语句- 修订和测试后: INSERT INTO student (

此查询显示错误。我无法使FirstName列唯一。请给出一个与此不同的想法


谢谢

您可以在该表上添加一个唯一的索引,这也会对您起到同样的作用

insert into student (FirstName,AGE,CITYID) values('guna','26','1')

select * from student WHERE FirstName!='guna';
编辑:

如果无法使用唯一索引

我能想到的一个解决方案是使用复合语句-

修订和测试后:

INSERT INTO student ( ....)
WHERE FirstName NOT IN (SELECT FirstName FROM student)

在代码块中标记代码。。请你得到的错误到底是什么?可能重复的重复更接近这个问题:我想问题说我不能使FirstName列唯一?呃。。。。不是我没读,就是后来加上去了?无论如何。。如果这是所需要的,那么勒多菲尔就有了答案。也可以将此答案添加到?插入学生名字、年龄、城市ID值“guna”、“26”和“1”中,其中名字不在从学生选择名字中,此查询还显示错误,如果不存在,可能会更快?
INSERT INTO student ( ....)
WHERE FirstName NOT IN (SELECT FirstName FROM student)
INSERT INTO student 
    (FirstName, age, cityid)
SELECT 
    'guna','26','1'
FROM student -- any table name will do
WHERE 'guna' NOT IN 
(
    SELECT FirstName 
    FROM student
)
LIMIT 1 -- required because all rows will qualify if 
        -- WHERE clause is satisfied