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框架的错误处理好像有自己进行封装,你好像要改一点东西,但是记不清楚了。
希望可以帮到你呦!~~欢迎继续追问!~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)