Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL &innoDB променят динамично AUTO_INCREMENT на таблица

ALTER TABLE трябва да има литерални стойности в него до момента, в който изразът се анализира (т.е. по време на подготовка).

Не можете да поставите променливи или параметри в израза по време на синтактичен анализ, но можете да поставите променливи в оператора преди време за синтактичен анализ. А това означава използване на динамичен SQL:

SET @new_index = (SELECT MAX(id) FROM sales );
SET @sql = CONCAT('ALTER TABLE sales AUTO_INCREMENT = ', @new_index);
PREPARE st FROM @sql;
EXECUTE st;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да изтриете дублиращи се редове от таблица в mysql

  2. ASP.NET MVC 4 EF5 с MySQL

  3. Използвайте PHP за изхвърляне на mysql стойности в JSON файл

  4. MYSQL тригери:JSON_SEARCH целочислена стойност в json масив от цели числа

  5. Има ли начин да се използва dplyr::bind_rows, без да се събират кадри с данни от базата данни?