我正在尝试使用任何语法,但无法考虑如何正确编写此代码:
Schema::table('users', function(Blueprint $table){ $sql = <<<SQL ALTER TABLE 'users' MODIFY 'age' DATETIME SQL; DB::connection()->getPdo()->exec($sql); });
也尝试过
DB::statement('ALTER TABLE \'users\' MODIFY COLUMN DATETIME);
和双引号等。运行迁移时,总是得到以下信息:
语法错误或访问冲突:1064您的SQL语法有错误。检查 与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第1行的“用户”修改“年龄” DATETIME附近使用
是的,我已经检查过,MariaDB使用MySQL的语法(至少在这种情况下)。
使用反引号而不是单引号来转义MySQL中的标识符:
alter table `users` modify `age` datetime
在这种情况下,您可以完全忽略转义 :
alter table users modify age datetime