В соответствии с ответом Лассевка, я получил «Сниппи» . Это было разработано для C # в глубине, и пользовательский интерфейс довольно мусор, но он работает - и позволяет вам писать дополнительные члены (методы, вложенные классы и т. Д.), Например,
public static void Foo()
{
Console.WriteLine("Hello");
}
...
Foo();
(... используется, чтобы сказать Сниппи, что «все, что здесь находится, принадлежит Мэйну».)
If it's only about getting the number of records (rows) I'd suggest using:
SELECT TABLE_ROWS
FROM information_schema.tables
WHERE table_name='the_table_you_want' -- Can end here if only 1 DB
AND table_schema = DATABASE(); -- See comment below if > 1 DB
(at least for MySQL) instead.
Next to the information_schema suggestion, this:
SELECT id FROM table ORDER BY id DESC LIMIT 1
should also be very fast, provided there's an index on the id field (which I believe must be the case with auto_increment)
попробуйте это
Выполните этот SQL:
SHOW TABLE STATUS LIKE '<tablename>'
и получите значение поля Auto_increment
Ниже приведен наиболее эффективный способ найти следующее значение AUTO_INCREMENT
для таблицы. Это быстро даже для баз данных, содержащих миллионы таблиц, поскольку не требуется запрашивать потенциально большую базу данных information_schema
.
mysql> SHOW TABLE STATUS LIKE 'table_name';
// Look for the Auto_increment column
Однако, если вы должны получить это значение в запросе, вы должны перейти к базе данных information_schema
.
SELECT `AUTO_INCREMENT`
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DatabaseName'
AND TABLE_NAME = 'TableName';