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

Командата CREATE е отказана за потребител, който има GRANT ALL PRIVILEGES

За бъдещи търсещи открих, че получавам тази грешка, когато използвам комбинация от MySQL Workbench и phpMyAdmin:ако „копирате SQL“ от списъка с таблици, той добавя името на схемата към имената на таблицата в оператора create (и в команди за външен ключ, които може да са част от него).

Внимателното премахване на името на схемата излекува този проблем за мен.

Например:

CREATE  TABLE IF NOT EXISTS `schema`.`table1` (
...blah blah blah...

CONSTRAINT `fk_user_id`
    FOREIGN KEY (`user_id` )
    REFERENCES `schema`.`table1` (`id` )
...blah blah blah...

трябва да се промени на:

CREATE  TABLE IF NOT EXISTS `table1` (
...blah blah blah...

CONSTRAINT `fk_user_id`
    FOREIGN KEY (`user_id` )
    REFERENCES `table1` (`id` )
...blah blah blah...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изберете сума -или- 0, ако няма записи?

  2. Многоезични полета в таблиците на БД

  3. MySQL обединяване на две идентификатори на таблица за получаване на резултати от една таблица в друга

  4. Опитвайки се да инсталирате Perl-Mysql DBD, mysql_config не може да бъде намерен

  5. Как мога да въведа данни, използвайки неанглийски (бангла) език в тази таблица на базата данни?