php插入mysql 5.7
我使用以下方式在php中插入值:php插入mysql 5.7,php,mysql,Php,Mysql,我使用以下方式在php中插入值: $sql = " INSERT INTO `table` (name, email) VALUES ('$name','$email') "; 考虑到我的表有以下列:id、姓名、电子邮件、地址、电话 在mysql 5.7中,它不再允许我执行上述查询,因为它的地址没有默认值 我在mysql上为它添加了一个默认值,但有些字段不允许使用默认值,比如blob、text 我的问题是:我是否总是必须在查询中描述表的每一列,这样它才能工作?比如: $sql = " INSE
$sql = " INSERT INTO `table` (name, email) VALUES ('$name','$email') ";
考虑到我的表有以下列:id、姓名、电子邮件、地址、电话
在mysql 5.7中,它不再允许我执行上述查询,因为它的地址没有默认值
我在mysql上为它添加了一个默认值,但有些字段不允许使用默认值,比如blob、text
我的问题是:我是否总是必须在查询中描述表的每一列,这样它才能工作?比如:
$sql = " INSERT INTO `table` (id,name, email, address, phone)
VALUES ('', '$name','$email', '', '') ";
您不必为每个查询描述每一列,尤其是对于
INSERT
查询,您必须确保未指定的列具有默认值,或者可以为NULL
对于其他查询,例如SELECT
或UPDATE
,您可以选择所需的查询,而不考虑内容是什么(当然,这同样适用于UPDATE
,因为INSERT
,不能为NULL的列中不能有NULL值)
您可以更改表,使不总是插入的值具有默认值,或者只是在默认情况下将其设置为NULL(如果插入时未为该列提供值)
您不必为每个查询描述每一列,尤其是对于
INSERT
查询,您必须确保未指定的列具有默认值,或者可以为NULL
对于其他查询,例如SELECT
或UPDATE
,您可以选择所需的查询,而不考虑内容是什么(当然,这同样适用于UPDATE
,因为INSERT
,不能为NULL的列中不能有NULL值)
您可以更改表,使不总是插入的值具有默认值,或者只是在默认情况下将其设置为NULL(如果插入时未为该列提供值)
. 不安全!学习和使用PDO的语句,为什么要串接而不是使用?如果Bub列可以有默认值,它是什么?你不必为你所做的每一个查询描述每一个列,但是对于<代码> INSERT < /CER>查询是特别的,您必须确保未指定的列具有默认值,或者可以是
NULL
。您不需要插入id,因为如果将其设置为自动递增/主键。不安全!学习和使用PDO的语句,为什么要串接而不是使用?如果Bub列可以有默认值,它是什么?你不必为你所做的每一个查询描述每一个列,但是对于<代码> INSERT < /CER>查询是特别的,您必须确保未指定的列具有默认值,或者可以是NULL
。您不需要插入id,因为如果它设置为自动递增/主键
ALTER TABLE table_name
CHANGE column_name column_name type DEFAULT NULL