sql >> Databáze >  >> RDS >> Mysql

MYSQL a innoDB dynamicky mění AUTO_INCREMENT tabulky

ALTER TABLE musí mít doslovné hodnoty v době, kdy je příkaz analyzován (tj. v době přípravy).

Proměnné nebo parametry nemůžete vkládat do příkazu v době analýzy, ale můžete vkládat proměnné do příkazu před analyzovat čas. A to znamená použití dynamického 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. Jak můžete reprezentovat dědictví v databázi?

  2. import souboru sql do databáze pomocí wamp

  3. Význam transakčního protokolu na SQL Serveru

  4. žádný sqljdbc_auth v java.library.path