SQL - MariaDB:SQL 错误 1292 截断不正确的 DOUBLE 值

SQL - MariaDB : SQL Error 1292 Truncated incorrect DOUBLE value

和哥们G找了好几遍,找到了很多解决方法,但是没有一个符合我的情况。 快速解释: 我目前正在尝试创建一个“测试 table”,它将每天接收 400 万行。大约是 48 lines/seconds.

为了模拟这种情况,我想为我的“LotNumber”列创建一个默认数字,该数字将根据小时和分钟创建。 示例:在上午 9 点和 45 分钟创建的所有行将具有以下“LotNumber”:W11409:451

a.k.a W114+HH:MM+1

因此,我的默认列值为:

concat(cast('W114' as char charset utf8mb4) + left(cast(curtime() as char charset utf8mb4),5) + cast('1' as char charset utf8mb4))

是的,这太野蛮了。 我的“批号”列是 VARCHAR,

当我创建单行时,HeidiSQL 发送错误消息 1292。

我是 SQL 的新手,我不知道我的错误在哪里。

您的代码有效,只需用 , 而不是 +

分隔数据元素
select concat(
  cast('W114' as char charset utf8mb4),
  left(cast(curtime() as char charset utf8mb4),5),
  cast('1' as char charset utf8mb4)
  )

你可以测试这个db<>fiddle