php - Mysql 在插入时抛出错误

标签 php mysql sql sql-insert

<分区>

我有一张 table

CREATE TABLE IF NOT EXISTS `employee` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(255) DEFAULT NULL,
`SALARY` int(11) DEFAULT NULL,
`DEPT` varchar(10) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

如果我为上表插入值,如下面的抛出错误

INSERT INTO employee ('NAME', 'SALARY', 'DEPT') VALUES ('user test', 10000, 'ADMIN');

最佳答案

删除列名上的单引号。

INSERT INTO employee (NAME, SALARY, DEPT) VALUES ('user test', 10000, 'ADMIN');

单引号用于字符串文字,列名用于标识符。服务器抛出异常,因为列需要标识符而不是字符串文字。用单引号包裹标识符将其转换为字符串。

如果碰巧你的列名和表名是mysql保留关键字列表中的关键字之一,可以用反引号分隔。

关于php - Mysql 在插入时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15611788/

相关文章:

sql - 为具有最低值的每个组选择单个 ID

php - 使用 MySQL 和 PHP 表单将数据插入关系数据库

php - 您使用哪些工具/语言部署 PHP Web 应用程序?

php - OpenSSL 错误 - 握手失败

PHP 和 MySQL 分页

sql - 使用 CTE 的分层数据

javascript - 需要手动刷新页面

PHP 过滤 MySQL 语句

mysql - 如何在不将 csv 保存到磁盘的情况下将 csv 格式的数据从内存发送到数据库?

sql - 如何根据其他行中的值选择行