首页 > 问一个 MySQL 语句,在已知记录的基础上,添加新记录的问题

问一个 MySQL 语句,在已知记录的基础上,添加新记录的问题

需要不停添加新数据到一个表里, 表里已有若干数据库

tableA

field1 | field2 | field3 | int4
text1 | text2 | text3 | int4

field1,field2,field3 都是目录, 按照需求添加, int4 是数值,类似id

比如
field1: 'people', field2: 'person', field3: 'john', int4: '1'
field1: 'people', field2: 'person', field3: 'peter', int4: '2'

field1: 'animals', field2: 'cat', field3: 'tom', int4: '1'
field1: 'animals', field2: 'dog', field3: 'jerry', int4: '1'

在已有数据的基础上(int4 能拿到最大值),下面的 sql 可以不停添加新纪录,然后自动 int4 + 1,

INSERT INTO tableA (field1, field2, field3, int4) SELECT 'text1' as field1, 'text2' AS field2, 'text3' AS field3, (MAX(int4)+1) AS int4 FROM tableA WHERE field1 LIKE 'text1' AND field2 LIKE 'text2' GROUP BY field1 LIMIT 1

但是在需要添加全新记录,如果数据库里记录为空, 怎么添加 int4 为 1 的记录? 因为 SELECT 拿不到数据, 所以这个 sql 没法添加新记录


用mysql的ifnull函数
还有你这个坑爹的设计思路是什么应用场景。。干嘛不用id

【热门文章】
【热门文章】