thinkphp5.0中往表中添加多条记录,怎么获取到所有添加的ID?

thinkphp5.0中往表中添加多条记录,怎么获取到所有添加的ID?,第1张

你好,用sql语句是不可能实现的,我们可以通过事务来实现,也就是说,SqlCommand的CmdText属性在一个方法当中可以赋多个SQL语句 SqlConnection sqlConnection = new SqlConnection()...初始化连接 // 开启事务 SqlTransaction sqlTransaction = sqlConnection.BeginTransaction()// 将事务应用于Command SqlCommand sqlCommand = new SqlCommand()sqlCommand.Connection = sqlConnectionsqlCommand.Transaction = sqlTransactionsqlCommand.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个表的话,就要用到存储过程或者是触发器,存储过程和触发器

1.随机读取连续多条记录。经过实践,可以随机读取多条连续的数据记录,里头取值的一般都是主键ID来进行最大值、最小值的读取:

1

SELECT

*

FROM

example_table

AS

t1

JOIN

(SELECT

ROUND(RAND()

*

((SELECT

MAX(id)

FROM

example_table)-(SELECT

MIN(id)

FROM

example_table))+(SELECT

MIN(id)

FROM

example_table))

AS

id)

AS

t2

WHERE

t1.id

>=

t2.id

ORDER

BY

t1.id

LIMIT

5

2.随机多条数据。以下两种都是随机读取数据,查询数据速度、随机范围都基本相差不大

1

SELECT

*

FROM

example_table

WHERE

id

>=

((SELECT

MAX(id)

FROM

example_table)-(SELECT

MIN(id)

FROM

example_table))

*

RAND()

+

(SELECT

MIN(id)

FROM

example_table)

LIMIT

5

1

SELECT

*

FROM

example_table

WHERE

id>=(SELECT

floor(RAND()

*

((SELECT

MAX(id)

FROM

example_table)-(SELECT

MIN(id)

FROM

example_table))

+

(SELECT

MIN(id)

FROM

example_table)))

ORDER

BY

id

LIMIT

5

亲,你好!

在向表中插入数据,如果数据表对应字段没有,而你却进行了插入的话,报错是正常的呦,应该不止tp5会报错,其他的框架也应该会报错滴!

处理以上报错有两种方式:

A:如果你确实想向这个表中插入photo信息,那你就可以提前将字段加入到表中,然后再插入就不会报错了。如果你并不想将photo信息插入数据表,你可以在拼写插入语句时,直接就不拼入photo数据。

B:使用异常处理机制,进行try catch 处理,当插入报错时,将报错信息插入日志中,然后手动处理错误。这样在插入失败时就不会报错了,但是数据是不会插入成功的。记得TP框架的错误处理好像有自己进行封装,你好像要改一点东西,但是记不清楚了。

希望可以帮到你呦!~~欢迎继续追问!~~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11897738.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存