insert into select 中報錯Truncated incorrect DOUBLE value

mysql中出現 Truncated incorrect DOUBLE value: 'ALLNULL',是由於where條件中的參數值類型和字段類型不一致

1、字段 user_name 是字符串類型,下面我沒加雙引號,報錯

INSERT INTO `qxt_fast_swtich_log`(`user_id`, `username`, `company`, `memo`, `isp_id`, `province`, `create_time`, `record`)

SELECT
    c.user_id userId,
    c.username userName,
    c.company company,
    c.memo memo,
    t.des_gw ispId,
    t.province province
FROM
    table_a t,
    table_b c
WHERE
    t.user_name = c.user_id
    AND t.STATUS = '1'
    AND user_name IN ( 123456, 123457)

2、加上雙引號,執行正常

INSERT INTO `qxt_fast_swtich_log`(`user_id`, `username`, `company`, `memo`, `isp_id`, `province`, `create_time`, `record`)

SELECT
    c.user_id userId,
    c.username userName,
    c.company company,
    c.memo memo,
    t.des_gw ispId,
    t.province province
FROM
    table_a t,
    table_b c
WHERE
    t.user_name = c.user_id
    AND t.STATUS = '1'
    AND user_name IN ( '123456', '123457' )

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章