MySQL设置某一字段默认为0,但是插入数据化却显示为null

1.MySQL字段默认的含义:在插入时不指定该字段的值;
2.以mybatis举例,如果是插入实体,那么为空的字段就会插入空;
3.如果不想mybatis等持久化工具插入空,可以尝试insertSelective方式进行,这样为空字段会被剔除。

注:insertList(List list) 方法需循环对字段设置默认值,或者由前端传值。

转载于:https://www.cnblogs.com/Crysta1/p/10739915.html

假设music表的结构如下: ``` CREATE TABLE music ( id INT(11) NOT NULL AUTO_INCREMENT, title VARCHAR(255) DEFAULT NULL, artist VARCHAR(255) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=INNODB DEFAULT CHARSET=utf8; ``` 以下是示例代码: ```php <?php // 连接数据库 $con = mysqli_connect("localhost", "username", "password", "database"); if (!$con) { die("连接失败: " . mysqli_connect_error()); } // 获取查询字段 $search = isset($_GET['search']) ? $_GET['search'] : ''; // 构造查询语句 $sql = "SELECT * FROM music WHERE title LIKE '%$search%'"; // 执行查询 $result = mysqli_query($con, $sql); // 判断查询结果是否为空 if (mysqli_num_rows($result) > 0) { // 如果查询结果不为空,则输出查询结果 while($row = mysqli_fetch_assoc($result)) { echo "ID: " . $row["id"] . " - Title: " . $row["title"] . " - Artist: " . $row["artist"] . "<br>"; } } else { // 如果查询结果为空,则将查询字段插入至music表的title字段中 $sql = "INSERT INTO music (title) VALUES ('$search')"; if (mysqli_query($con, $sql)) { echo "查询结果为空,已将查询字段插入至music表的title字段中"; } else { echo "插入数据失败: " . mysqli_error($con); } } // 关闭数据库连接 mysqli_close($con); ?> ``` 在上述代码中,首先连接到数据库,并获取查询字段。然后构造查询语句并执行查询,如果查询结果不为空,则输出查询结果。如果查询结果为空,则将查询字段插入至music表的title字段中。最后关闭数据库连接。请注意,上述代码存在SQL注入的风险,应该使用参数查询或者转义输入的查询字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值