我想将数据插入到不能多次插入数据的列中!相同类型/类别的数据不能相同! 我知道更简单/最好的方法是将属性定义为唯一/主键...但是还有其他方法可以做到这一点!
最佳答案
您可以在插入数据之前使用 group by 子句、distinct 或 join 检查数据。这实际上取决于您的要求。
例如,如果数据完全相同,则使用 DISTINCT
就足够了:
INSERT INTO <YourTable>
SELECT DISTINCT ...
FROM ...
或者直接检查表中是否存在数据:
INSET INTO <YourTable>
SELECT ....
FROM Table s
WHERE NOT EXISTS(SELECT 1 FROM YourTable t
WHERE t.type = s.type and t.category = s.category)
等等..
关于mysql - 如何在 SQL 中不使用 Unique/Primary key 关键字的情况下将数据唯一地插入到表中?还有其他办法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46140565/