当我运行附加示例时,它会创建具有列 id 和数据类型 bigint(295) 的表 我想将其定义为 int(11)。 在更复杂的查询中(我从组 concat 中获取了 id),我得到了文本而不是 int。
如何在mysql中将创建表的数据类型指定为select?
DROP TABLE IF EXISTS some_table;
CREATE TABLE IF NOT EXISTS some_table AS (
SELECT
CONVERT("123,456,789,987,654,321,741,852,963,147,258,369,123,456,789,987,654,321,741,852,963,147,258,369
,2123,456,789,987,654,321,741,852,963,147,258,369,123,456,789,987,654,321,741,852,963,147,258,369
,3123,456,789,987,654,321,741,852,963,147,258,369,123,456,789,987,654,321,741,852,963,147,258,369"
, SIGNED INTEGER) AS id);
最佳答案
我找不到直接的方法来做到这一点。 通过 alter table 解决它,对我有用,也许有更好的解决方案。
DROP TABLE IF EXISTS some_table;
CREATE TABLE IF NOT EXISTS some_table AS (
SELECT
CONVERT("123,456,789,987,654,321,741,852,963,147,258,369,123,456,789,987,654,321,741,852,963,147,258,369
,2123,456,789,987,654,321,741,852,963,147,258,369,123,456,789,987,654,321,741,852,963,147,258,369
,3123,456,789,987,654,321,741,852,963,147,258,369,123,456,789,987,654,321,741,852,963,147,258,369"
, SIGNED INTEGER) AS id);
ALTER TABLE some_table CHANGE id id INT( 11 ) NULL DEFAULT NULL ;
关于mysql - 如何在mysql中将创建表的数据类型指定为select?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984519/