我想插入我的mySQL数据库.第一列是'id'列,因为它是一个auto_increment字段,我把它留空了.由于某种原因,我无法插入,我收到下面提到的错误.我很感激任何帮助.
尝试插入时出现以下错误:
Incorrect integer value: '' for column 'id' at row 1
Run Code Online (Sandbox Code Playgroud)
我的查询
$insertQuery = "INSERT INTO workorders VALUES('', '$priority', '$requestType', '$purchaseOrder', '$nte', '$jobSiteNumber')";
Run Code Online (Sandbox Code Playgroud)
Ker*_*mit 28
这可能意味着你id是一个AUTO_INCREMENT整数,并且你正在尝试发送一个字符串.您应该指定列列表并从您的列表中省略它INSERT.
INSERT INTO workorders (column1, column2) VALUES ($column1, $column2)
Run Code Online (Sandbox Code Playgroud)
pet*_*erm 22
要让MySql为AUTO_INCREMENT字段生成序列号,您有三个选项:
... 没有为AUTO_INCREMENT列指定值,因此MySQL会自动分配序列号.您还可以显式为列分配NULL或0以生成序列号.
这三个语句将产生相同的结果:
$insertQuery = "INSERT INTO workorders (`priority`, `request_type`) VALUES('$priority', '$requestType', ...)";
$insertQuery = "INSERT INTO workorders VALUES(NULL, '$priority', ...)";
$insertQuery = "INSERT INTO workorders VALUES(0, '$priority', ...";
Run Code Online (Sandbox Code Playgroud)
PJu*_*ior 10
尝试编辑my.cf并注释原始的sql_mode并添加sql_mode ="".
vi /etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
sql_mode =""
保存并退出...
service mysql restart
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
164410 次 |
| 最近记录: |