需要不停添加新数据到一个表里, 表里已有若干数据库
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 没法添加新记录