Php 使用条令和mssql将数据插入表时出错
我正试图以这种方式(Symfony4)将数据插入到创建的数据库中,该数据库具有相应的表: 打开url后,它会抛出以下内容:Php 使用条令和mssql将数据插入表时出错,php,sql,sql-server,symfony,doctrine-orm,Php,Sql,Sql Server,Symfony,Doctrine Orm,我正试图以这种方式(Symfony4)将数据插入到创建的数据库中,该数据库具有相应的表: 打开url后,它会抛出以下内容: An exception occurred while executing 'INSERT INTO user (username, roles, password, email) VALUES (?, ?, ?, ?)' with params ["felipito", "[]", "canelo123", "fpcanelo@ati.cu"]: SQLSTATE [4
An exception occurred while executing 'INSERT INTO user (username, roles, password, email) VALUES (?, ?, ?, ?)' with params ["felipito", "[]", "canelo123", "fpcanelo@ati.cu"]:
SQLSTATE [42000, 156]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Incorrect syntax near the keyword 'user'.
SQLSTATE [42000, 8180]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Statement(s) could not be prepared.
可能问题与有关,看起来用户是MySQL中的保留词。 像这样更新用户实体@ORM\Table注释
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="`user`")
*/
class User extends BaseUser
{
// [....]
}
请注意,表的名称使用单引号。与@rodmar zavala回答的一样,问题是我在sql server中使用了保留字。它也适用于我在工作时遇到的这个错误
所以我重构了类名,它工作正常。Hey@rodmar zavala,除此之外,我使用的是sql server,你是对的,似乎“user”在sql server中也是一个保留字,所以我再次重构了整个内容,它工作了,thanks@Nestor伟大的你介意把答案标为有用吗?我是新来的,正在努力赢得声誉!谢谢
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="`user`")
*/
class User extends BaseUser
{
// [....]
}