我知道你可以使用:
SELECT AUTO_INCREMENT
FROM information_schema.tables
WHERE table_name = 'myTable'
AND table_schema = 'myDatabase'
如果我一次插入一行
但是这会产生一个错误的重复输入密钥' PRIMARY'如果select查询返回多个记录
INSERT INTO myTable SELECT (SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = 'myTable' AND table_schema = 'myDatabase') AS Customer_ID, Customer FROM myTable2 WHERE Customer LIKE '%Tech%'
答案 0 :(得分:1)
这更容易:
INSERT INTO myTable (Customer) SELECT Customer FROM myTable2 WHERE Customer LIKE '%Tech%'
: - )
编辑(解释):这是真正意义上的AUTO_INCREMENT,你可以简单地把它留下来,它会得到一个未使用的数字。我认为您也可以将NULL作为值,这将被转换为“下一个自由值”。
尽管如此,使用@variables,您还可以轻松创建行号等,但这样可以保留更多有趣的问题。