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
和哥们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