gpt4 book ai didi

php - 通过 Doctrine Symfony 框架在现有数据库中添加列

转载 作者:行者123 更新时间:2023-11-30 00:07:25 25 4
gpt4 key购买 nike

为了在现有数据库中添加列,我遵循了 Doctrine Migrations 的文档。 http://symfony.com/legacy/doc/doctrine/1_2/en/07-Migrations

我成功运行了所有命令并获得了文档要求的自动生成的文件。但是在运行最后一个命令“./symfonydoctrine:migrate”时,我在命令提示符中收到此错误:

  • SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 'VARCHAR(100), value TEXT NOT NULL, PRIMARY KEY(key)) DEFAULT CHARACTER SET UTF8 ' 附近使用的正确语法。查询失败:“CREATE TABLE hs_hr_config (key VARCHAR(100),value TEXT NOT NULL,PRIMARY KEY(key)) DEFAULT CHARACTER SET UTF8 ENGINE = INNODB”

这两个是创建“hs_hr_config”表的位置:创建表hs_hr_config(
keyvarchar(100) not null default '',
valuevarchar(512) 不为 null 默认 '',
主键(
)
) engine=innodb 默认字符集=utf8;

创建表 hs_hr_config (keyVARCHAR(100), value TEXT NOT NULL, PRIMARY KEY(key)) ENGINE = INNODB;

有人知道如何消除这个错误吗???

还有一个问题:当我运行以下命令时:php 应用程序/控制台学说:迁移:迁移我收到类似“无法找到输入文件应用程序/控制台”的错误。为什么我会收到此错误???

任何有值(value)的指导都将受到高度赞赏。

最佳答案

Key 是保留字。尝试将 key 放在引号中,例如 'key'

或者,您可以更改映射中的列名称,以便它不使用保留字,但仍映射到您的属性。如果您使用有问题的字段名称创建任何 future 的迁移,此方法还可以阻止出现任何问题。

在 yaml 中你会做..

fields:
key:
column: my_key
type: string

另请参阅http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

关于php - 通过 Doctrine Symfony 框架在现有数据库中添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com