重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你好,用sql语句是不可能实现的,我们可以通过事务来实现,也就是说,SqlCommand的CmdText属性在一个方法当中可以赋多个SQL语句 SqlConnection sqlConnection = new SqlConnection(); ...初始化连接 // 开启事务 SqlTransaction sqlTransaction = sqlConnection.BeginTransaction(); // 将事务应用于Command SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlConnection; sqlCommand.Transaction = sqlTransaction; sqlCommand.CmdText=第一个sql语句 sqlCommand.ExcuteNoneQuery(); sqlCommand.CmdText=第二个sql语句 sqlCommand.ExcuteNoneQuert(); try { // 利用sqlcommand进行数据操作 ... // 成功提交 sqlTransaction.Commit(); } catch(Exception ex) { // 出错回滚 sqlTransaction.Rollback(); } 如果在执行第二次SQL语句是出错了,那么就会到Catch异常中,执行回滚,那么第一次执行的也同样回滚了,所以必须2个都一行成功才往数据库中提交这里是用了2次SQL语句,如果你想用1个语句同时操控2个表的话,就要用到存储过程或者是触发器,存储过程和触发器
创新互联公司主营通川网站建设的网络公司,主营网站建设方案,app软件开发公司,通川h5成都微信小程序搭建,通川网站营销推广欢迎通川等地区企业咨询
亲,你好!
在向表中插入数据,如果数据表对应字段没有,而你却进行了插入的话,报错是正常的呦,应该不止tp5会报错,其他的框架也应该会报错滴!
处理以上报错有两种方式:
A:如果你确实想向这个表中插入photo信息,那你就可以提前将字段加入到表中,然后再插入就不会报错了。如果你并不想将photo信息插入数据表,你可以在拼写插入语句时,直接就不拼入photo数据。
B:使用异常处理机制,进行try catch 处理,当插入报错时,将报错信息插入日志中,然后手动处理错误。这样在插入失败时就不会报错了,但是数据是不会插入成功的。记得TP框架的错误处理好像有自己进行封装,你好像要改一点东西,但是记不清楚了。
希望可以帮到你呦!~~欢迎继续追问!~~
// $data 为原始数组,处理得到按添加记录排列的数组$new_data
foreach ($data as $k1 = $v1) {
foreach ($v1 as $k2 = $v2) {
$new_data[$k2][$k1] = $v2;
}
}
// 针对Mysql数据库,可以批量添加
M("Your_Table_Name")-addAll($new_data);
// 也可以循环添加
foreach ($new_data as $v) {
M("Your_Table_Name")-add($v);
}